ConnectyCube / connectycube-flutter-samples

Code samples for Flutter, based on ConnectyCube platform
https://developers.connectycube.com/flutter/
Apache License 2.0
85 stars 90 forks source link

Reject call from notifications not ending the call for the other opponent #327

Closed radyhaggag closed 5 months ago

radyhaggag commented 5 months ago

When i create a video call, the notification go to the other user and when he accept, he enter the call and it start for all users.

but when he reject the call no action occur on host side.

On conversation call view:

_callManager.onCallRejected = _onCallRejected;
_callManager.onReceiveRejectCall = _onReceiveRejectCall;
_callManager.onReceiveAcceptCall = _onReceiveAcceptCall;

void _onCallRejected(String meetingId) { log("[_onCallRejected]"); logger.wtf("_onCallRejected"); Navigator.pop(context); }

void _onReceiveRejectCall(String meetingId, int participantId, bool isBusy) {
log("_onReceiveRejectCall got reject from user $participantId", tag);

}

here there are no actions occur on the two methods.

only the action happen is on the callkit file: [callkit_manager.dart:89:12]

this method, its invovked when the user reject the call. but nothing happen on the host side.

Future<void> _onCallRejected(CallEvent callEvent) async {
logger.wtf("ON CALL REJECTED");
onCallEnded.call(callEvent);

}

TatankaConCube commented 5 months ago

please fillin all required fields from the issue template. from your description we can't understand which sample do you mean, what platfor do you use for reproducing etc.

in the provided partes of code I can't see the code for ending the call. if you use the P2P cals the method callSession.reject(userInfo) rejects the call, please check where you call it in your app.

radyhaggag commented 5 months ago

please fillin all required fields from the issue template. from your description we can't understand which sample do you mean, what platfor do you use for reproducing etc.

in the provided partes of code I can't see the code for ending the call. if you use the P2P cals the method callSession.reject(userInfo) rejects the call, please check where you call it in your app.

I'm using conference call

radyhaggag commented 5 months ago

I initilized all required method for call manager like the sample of code which i provided, but the reject handler not invoked on the host side, he must end the call when the other one reject

TatankaConCube commented 5 months ago

then you need to send the signaling message for the caller throw your signaling manager. in our sample we use the CallManager for it and the System messages featurre (via REAST API). here is the method for notifying about ending the call.

radyhaggag commented 5 months ago

CallManager

Yes, actually the reject method which contains "sendRejectMessage" is invoke when reject the call, but the message dose not going to the host, i tried many times to solve it but no result.

and i have another question is the incoming call screen appear on android 12 or above? because i just receive a notification and the incoming screen not appear when make a call.

TatankaConCube commented 5 months ago

incoming call screen appear on android 12 or above?

no, according to the Android specification the full screen notification will be shown only in case no any app currently runned on the device, in most cases it is lock screen (the launcher app is a ran app)

"sendRejectMessage" is invoke when reject the call

then we need the full log from the receiver side for better understandin your issue. it should contain the incoming call and the rejecting call flows

radyhaggag commented 5 months ago

then we need the full log from the receiver side for better understandin your issue. it should contain the incoming call and the rejecting call flows

This is the full log on the receiver side including the rejecting log.

D/FLTFireMsgReceiver( 5002): broadcast received for message D/ConnectycubeFCMReceiver( 5002): broadcast received for message D/ConnectycubeFCMReceiver( 5002): [processInviteCallEvent] D/ConnectycubeFlutterCallKitPlugin( 5002): [notifyAboutIncomingCall] sendBroadcast ACTION_CALL_INCOMING 100015d5-5903-43e3-a82b-171b5d72ac81 D/NotificationsManager( 5002): [showCallNotification] D/NotificationsManager( 5002): [showCallNotification] canUseFullScreenIntent: true D/CompatibilityChangeReporter( 5002): Compat change id reported: 160794467; UID 10153; state: ENABLED D/NotificationsManager( 5002): ringtone: content://settings/system/ringtone D/ConnectycubeFlutterCallKitPlugin( 5002): callEventMap: {caller_name=tutor 4ady, user_info={"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id=11557677, session_id=100015d5-5903-43e3-a82b-171b5d72ac81, photo_url=null, call_opponents=11557485, call_type=1} I/flutter ( 5002): [initEventsHandler] rawData: {args: {caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, photo_url: null, call_opponents: 11557485, call_type: 1}, event: incomingCall} I/flutter ( 5002): [CallEvent.fromMap] map: {caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, photo_url: null, call_opponents: 11557485, call_type: 1} W/uage.taaly.tes( 5002): Accessing hidden method Landroid/os/WorkSource;->add(I)Z (unsupported,test-api, reflection, allowed) W/uage.taaly.tes( 5002): Accessing hidden method Landroid/os/WorkSource;->add(ILjava/lang/String;)Z (unsupported,test-api, reflection, allowed) W/uage.taaly.tes( 5002): Accessing hidden method Landroid/os/WorkSource;->get(I)I (unsupported, reflection, allowed) W/uage.taaly.tes( 5002): Accessing hidden method Landroid/os/WorkSource;->getName(I)Ljava/lang/String; (unsupported, reflection, allowed) D/Android: Awesome Notifications: A new Awesome FCM service has started (AwesomeFcmService:46) D/Android: Awesome Notifications: received a new fcm push (id: 0:1705662273885457%704cf2a8f28512a7) (AwesomeFcmService:134) D/Android: Awesome Notifications: New silent push received (FcmInterpreter:217) [log] [ConnectycubeFlutterCallKit][_processEvent] eventData: {args: {caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, photo_url: null, call_opponents: 11557485, call_type: 1}, event: incomingCall} D/Android: Awesome Notifications: A new silent background service has started (FcmSilentService:23) I/Android: Awesome Notifications: Initializing Flutter global instance. (FcmDartBackgroundExec:145) I/Android: Awesome Notifications: Creating background FlutterEngine instance. (FcmDartBackgroundExec:158) D/EGL_emulation( 5002): eglCreateContext: 0x7c080a5e8c50: maj 3 min 0 rcv 3 D/EGL_emulation( 5002): eglCreateContext: 0x7c080a5e8a10: maj 3 min 0 rcv 3 D/HostConnection( 5002): createUnique: call D/HostConnection( 5002): HostConnection::get() New Host Connection established 0x7c080a5e8e90, tid 5443 D/HostConnection( 5002): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_YUV_Cache ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_sync_buffer_data ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 D/EGL_emulation( 5002): eglMakeCurrent: 0x7c080a5e8a10: ver 3 0 (tinfo 0x7c0a2f3fa380) (first time) W/MediaButtonReceiver( 5002): More than one BroadcastReceiver that handles android.intent.action.MEDIA_BUTTON was found, returning null. W/MediaSessionCompat( 5002): Couldn't find a unique registered media button receiver in the given context. D/Android: Awesome Notifications: Awesome Notifications plugin attached to Android 31 (AwesomeNotificationsPlugin:155) D/Android: Awesome Notifications: Awesome Notifications attached to engine for Android 31 (AwesomeNotificationsPlugin:137) D/Android: Awesome Notifications: subscribed to receive FCM events (AwesomeFcmEventsReceiver:53) D/Android: Awesome Notifications: subscribed to receive FCM events (AwesomeFcmEventsReceiver:73) D/Android: Awesome Notifications: subscribed to receive exception events (AwesomeEventsReceiver:45) D/AwesomeNotificationsFcmPlugin( 5002): Awesome Notifications FCM attached for Android 31 I/Android: Awesome Notifications: Executing background FlutterEngine instance for silent FCM. (FcmDartBackgroundExec:181) W/FlutterWebRTCPlugin( 5002): audioFocusChangeListener [Speakerphone(name=Speakerphone)] Speakerphone(name=Speakerphone) I/flutter ( 5002): "SilentData": { I/flutter ( 5002): "call_opponents": "11557485", I/flutter ( 5002): "call_type": "1", I/flutter ( 5002): "caller_id": "11557677", I/flutter ( 5002): "caller_name": "tutor 4ady", I/flutter ( 5002): "createdDate": "2024-01-19 11:04:33.000Z", I/flutter ( 5002): "createdLifeCycle": "Foreground", I/flutter ( 5002): "createdSource": "Firebase", I/flutter ( 5002): "expiration": "0", I/flutter ( 5002): "id": null, I/flutter ( 5002): "meeting_id": "65aa573f29d6c5002fd79968", I/flutter ( 5002): "message": "Incoming Video call", I/flutter ( 5002): "session_id": "100015d5-5903-43e3-a82b-171b5d72ac81", I/flutter ( 5002): "signal_type": "startCall", I/flutter ( 5002): "user_info": "{\"meeting_id\":\"65aa573f29d6c5002fd79968\"}" I/flutter ( 5002): } I/flutter ( 5002): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): │ #0 NotificationServiceProvider.mySilentDataHandle (package:taaly_user_mobile_app/core/general/providers/awesome_notification_provider.dart:176:12) I/flutter ( 5002): │ #1 receiveSilentData (package:awesome_notifications_fcm/src/isolates/silent_push_isolate_main.dart:61:51) I/flutter ( 5002): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 5002): │ 👾 mySilentDataHandle() silentData.data {meeting_id: 65aa573f29d6c5002fd79968, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, message: Incoming Video call, signal_type: startCall, caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, expiration: 0, call_opponents: 11557485, call_type: 1, id: null, createdDate: 2024-01-19 11:04:33.000Z, createdSource: Firebase, createdLifeCycle: Foreground} I/flutter ( 5002): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): │ #0 NotificationServiceProvider.mySilentDataHandle (package:taaly_user_mobile_app/core/general/providers/awesome_notification_provider.dart:178:10) I/flutter ( 5002): │ #1 receiveSilentData (package:awesome_notifications_fcm/src/isolates/silent_push_isolate_main.dart:61:51) I/flutter ( 5002): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 5002): │ 👾 mySilentDataHandle() silentData.data 2024-01-19 11:04:33.000Z I/flutter ( 5002): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/Android: Awesome Notifications: All silent data fetched. (FcmDartBackgroundExec:256) I/Android: Awesome Notifications: Shutting down background FlutterEngine instance. (FcmDartBackgroundExec:209) D/Android: Awesome Notifications: Awesome Notifications plugin detached from Android 31 (AwesomeNotificationsPlugin:180) D/Android: Awesome Notifications: unsubscribed from notification events (AwesomeFcmEventsReceiver:61) D/Android: Awesome Notifications: unsubscribed from notification events (AwesomeFcmEventsReceiver:81) D/Android: Awesome Notifications: unsubscribed from exception events (AwesomeEventsReceiver:53) D/AwesomeNotificationsFcmPlugin( 5002): Awesome Notifications FCM detached from Android 31 D/FlutterWebRTCPlugin( 5002): Stopping the audio manager... I/Android: Awesome Notifications: FlutterEngine instance terminated. (FcmDartBackgroundExec:216) D/EventReceiver( 5002): NotificationReceiver onReceive action: action_call_reject I/EventReceiver( 5002): NotificationReceiver onReceive Call REJECT, callId: 100015d5-5903-43e3-a82b-171b5d72ac81 D/ConnectycubeFlutterCallKitPlugin( 5002): callEventMap: {caller_name=tutor 4ady, user_info={"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id=11557677, session_id=100015d5-5903-43e3-a82b-171b5d72ac81, photo_url=null, call_opponents=11557485, call_type=1} I/flutter ( 5002): [initEventsHandler] rawData: {args: {caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, photo_url: null, call_opponents: 11557485, call_type: 1}, event: endCall} I/flutter ( 5002): [CallEvent.fromMap] map: {caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, photo_url: null, call_opponents: 11557485, call_type: 1} I/flutter ( 5002): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): │ #0 CallKitManager._onCallRejected (package:taaly_user_mobile_app/config/video_call_managers/callkit_manager.dart:89:12) I/flutter ( 5002): │ #1 ConnectycubeFlutterCallKit._processEvent (package:connectycube_flutter_call_kit/src/connectycube_flutter_call_kit.dart:342:26) I/flutter ( 5002): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 5002): │ 👾 ON CALL REJECTED I/flutter ( 5002): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): CB-SDK: CallManager: [_onCallEnded] _currentCallState: null I/flutter ( 5002): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): │ #0 CallManager._onCallEnded (package:taaly_user_mobile_app/config/video_call_managers/call_manager.dart:391:12) I/flutter ( 5002): │ #1 I/flutter ( 5002): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 5002): │ 👾 currentCallState null I/flutter ( 5002): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): │ #0 CallManager._onCallEnded (package:taaly_user_mobile_app/config/video_call_managers/call_manager.dart:396:14) I/flutter ( 5002): │ #1 I/flutter ( 5002): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 5002): │ 👾 callEvent.sessionId 100015d5-5903-43e3-a82b-171b5d72ac81, meetingId 65aa573f29d6c5002fd79968, callEvent.callerId 11557677 I/flutter ( 5002): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): │ #0 CallManager.reject (package:taaly_user_mobile_app/config/video_call_managers/call_manager.dart:156:12) I/flutter ( 5002): │ #1 CallManager._onCallEnded (package:taaly_user_mobile_app/config/video_call_managers/call_manager.dart:400:7) I/flutter ( 5002): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 5002): │ 👾 REJECTED REJECTED REJECTED I/flutter ( 5002): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 5002): CB-SDK: CallManager: [_clearProperties] I/flutter ( 5002): Null check operator used on a null value I/flutter ( 5002): CB-SDK: : ========================================================= I/flutter ( 5002): === REQUEST ==== 2ecb22d5-8a28-41f3-814a-51420bc1cd2c === I/flutter ( 5002): REQUEST I/flutter ( 5002): POST https://api.connectycube.com/chat/Message/system I/flutter ( 5002): HEADERS I/flutter ( 5002): {Content-type: application/json, ConnectyCube-REST-API-Version: 0.1.1, CB-SDK: Flutter 2.11.2, CB-Token: 3F132DEDAE48155C07510B786A944D7C5750} I/flutter ( 5002): BODY I/flutter ( 5002): {"recipientId":11557677,"meeting_id":"65aa573f29d6c5002fd79968","session_id":"100015d5-5903-43e3-a82b-171b5d72ac81","rejectCall":"1","busy":"false"} I/flutter ( 5002): [log] [ConnectycubeFlutterCallKit][_processEvent] eventData: {args: {caller_name: tutor 4ady, user_info: {"meeting_id":"65aa573f29d6c5002fd79968"}, caller_id: 11557677, session_id: 100015d5-5903-43e3-a82b-171b5d72ac81, photo_url: null, call_opponents: 11557485, call_type: 1}, event: endCall} I/flutter ( 5002): CB-SDK: : *** I/flutter ( 5002): * RESPONSE 201 2ecb22d5-8a28-41f3-814a-51420bc1cd2c *** I/flutter ( 5002): HEADERS I/flutter ( 5002): {cb-token-expirationdate: 2024-01-19 13:04:40 UTC, connection: keep-alive, date: Fri, 19 Jan 2024 11:04:40 GMT, strict-transport-security: max-age=15768000; includeSubDomains, content-length: 248, access-control-expose-headers: CB-Token-ExpirationDate, Date, content-type: application/json; charset=utf-8, server: nginx/1.25.0} I/flutter ( 5002): BODY I/flutter ( 5002): {"messageId":"65aa574829d6c5002fd79969","recipientId":11557677,"extensionParams":{"meeting_id":"65aa573f29d6c5002fd79968","session_id":"100015d5-5903-43e3-a82b-171b5d72ac81","rejectCall":"1","busy":"false","moduleIdentifier":"SystemNotifications"}} I/flutter ( 5002):

TatankaConCube commented 5 months ago

in the provided log everything looks ok on the receiver side, then check on the caller side, does it logged in to the chat an does it listen to the system messages? more details for working with the system messages here. also you can see how it used in our sample here. but pay attention - the caller chould be logged in to the chat at that time. in our sample we login to the chat here

radyhaggag commented 5 months ago

does it logged in to the chat an does it listen to the system messages?

Is the chat necessary? i dose not configured the chat because we will not use it on our app?

is this reason? and we must use the chat and init it to all that working smoothly ?

TatankaConCube commented 5 months ago

the chat necessary?

no, for the Conference calls this feature doen't required. but you need to organize the signaling exchange between your users. in our sample we use the chat connectionion for it. in your live app you can use any way for communication, it can be some of your websocket connection, or the push notification feature or somrthing else.

as you can see the main feature of the Conference calls is the creation of the meeting and any user can join it. in our sample we added the signaling to make the functionality similar to the P2P calls, but you can any way you need in your app.

TatankaConCube commented 5 months ago

is this reason?

it can be if you use our sample as a base

radyhaggag commented 5 months ago

the chat necessary?

no, for the Conference calls this feature doen't required. but you need to organize the signaling exchange between your users. in our sample we use the chat connectionion for it. in your live app you can use any way for communication, it can be some of your websocket connection, or the push notification feature or somrthing else.

as you can see the main feature of the Conference calls is the creation of the meeting and any user can join it. in our sample we added the signaling to make the functionality similar to the P2P calls, but you can any way you need in your app.

I do not change anything related to the notifications, so now i don't know if should i use different notification service or what should i do to make it working fine.

radyhaggag commented 5 months ago

is this reason?

it can be if you use our sample as a base

Yes i used it as it and just refactored the files to a small components only. so as you say maybe this is the problem, but what should i change or refactor?

TatankaConCube commented 5 months ago

you just need to add the login to the chat and add the listener for system messages what you will receive from your partisipants. see my previous responce

TatankaConCube commented 5 months ago

just refactored the files to a small components only

but I don't know what you deleted here, please check it by yourself

radyhaggag commented 5 months ago

you just need to add the login to the chat and add the listener for system messages what you will receive from your partisipants. see my previous responce

Ok, i will add the chat log in and try again.

radyhaggag commented 5 months ago

just refactored the files to a small components only

but I don't know what you deleted here, please check it by yourself

Nothing here related to the problem, just deleted the group calling code and audio call, and kept with codes which i need.

TatankaConCube commented 5 months ago

I just remind it one more time, if you have some chatting functionality in your app, you can use your chat for signaling exchange instead of creatin one more connection))) think about it

radyhaggag commented 5 months ago

I just remind it one more time, if you have some chatting functionality in your app, you can use your chat for signaling exchange instead of creatin one more connection))) think about it

We have a chat service currently and it working fine on the video call.

so i will just make the users to logged in the chat and i will use our chat, is that wrong? if you have another idea please tell me.

TatankaConCube commented 5 months ago

yes, it is exactly what I meant. you will use your chat for sending signaling messages instead of our system messages

TatankaConCube commented 5 months ago

We have a chat service currently

is it your developed feature, right? not our chat service?

radyhaggag commented 5 months ago

We have a chat service currently

is it your developed feature, right? not our chat service?

Yes, its our chat service, we using it for additional features and data which will use on the app.

Thank you so much for your time and your help, i will try the solution and close the issue if everything fine.

radyhaggag commented 5 months ago

no, according to the Android specification the full screen notification will be shown only in case no any app currently runned on the device, in most cases it is lock screen (the launcher app is a ran app)

I'm asking many questions so I'm sorry for that.

After logged in the chat everything become working well, thanks.

but stay just one problem, on android 12 the incoming call screen appear and also the notification appear above it in case i'm opening the app.

but when the app on background, the notification only appear, and if on lock screen and no opened as you said the incoming only appear.

so i cannot understand is the problem related to connectycube or what?

photo_2024-01-19_19-00-07