亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

FirebaseInAppMessagingClickListener 不調用 android

FirebaseInAppMessagingClickListener 不調用 android

慕哥6287543 2023-05-17 16:56:56
我正在使用FirebaseInAppMessaging并且可以正常工作。然后我使用注冊操作回調FirebaseInAppMessagingClickListener,它沒有調用。public class InAppMessageClick implements FirebaseInAppMessagingClickListener, FirebaseInAppMessagingImpressionListener, FirebaseInAppMessagingDisplay {String TAG = "InAppMessageClick";@Overridepublic void messageClicked(InAppMessage inAppMessage, Action action) {    // Determine which URL the user clicked    String url = action.getActionUrl();    LogUtils.i(TAG, "Action URL : "+url);    // Get general information about the campaign    CampaignMetadata metadata = inAppMessage.getCampaignMetadata();   Log.i(TAG," Metadata : "+metadata);}@Overridepublic void impressionDetected(InAppMessage inAppMessage) {    LogUtils.i(TAG, "impressionDetected Action URL : "+inAppMessage.getCampaignMetadata().getCampaignName());}@Overridepublic void displayMessage(InAppMessage inAppMessage, FirebaseInAppMessagingDisplayCallbacks firebaseInAppMessagingDisplayCallbacks) {    LogUtils.i(TAG, "displayMessage Action URL : "+inAppMessage.getCampaignMetadata().getCampaignName());}}我在 MainActivity 的 onCreate 中注冊了這個點擊監聽器InAppMessageClick inAppMessageClick = new InAppMessageClick();    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(inAppMessageClick);    FirebaseInAppMessaging.getInstance().addClickListener(inAppMessageClick); 我嘗試通過兩種方式注冊監聽器。InAppMessageClick inAppMessageClick = new InAppMessageClick();FirebaseInAppMessaging.getInstance().addClickListener(inAppMessageClick);`或者FirebaseInAppMessaging.getInstance().addClickListener(inAppMessageClick, new Executor() {            @Override            public void execute(Runnable command) {                LogUtils.i("MainActivity", "FIAM CLICKED EXECUTOR");            }       });`并使用gradle    implementation 'com.google.firebase:firebase-inappmessaging-display:18.0.2'    implementation 'com.google.firebase:firebase-core:17.0.1' 
查看完整描述

3 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

會不會和7天前打開的這個issue有關? https://github.com/firebase/firebase-android-sdk/issues/681


查看完整回答
反對 回復 2023-05-17
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

這是您可能想嘗試的東西。

  1. 在 Firebase 控制臺中創建一個新的活動,暫時不要發布它,因為您無法測試已發布的活動。

  2. 在“調度”步驟中,選擇on_foreground作為觸發事件。

  3. 在您的應用程序中onResume(),添加偵聽器。

Firebase.inAppMessaging.addClickListener { inAppMessage, action ->

? ? // ...

}


Firebase.inAppMessaging.addImpressionListener { inAppMessage ->

? ? // ...

}

運行您的應用程序,然后按 HOME 按鈕將其置于后臺。


從 Firebase 控制臺發送測試消息Test on device,該消息位于“樣式和內容”步驟中。


將您的應用程序置于前臺,然后點擊未標記為“使用關閉作為操作”的廣告系列按鈕。


此時,應該同時調用ClickListener和。ImpressionListener


In-App Messaging 會刪除所有偵聽器,除非應用程序進入后臺,因此如果您想用作觸發事件,則DismissListener需要添加偵聽器。onResume()on_foreground


查看完整回答
反對 回復 2023-05-17
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

出于某種原因,每次活動進入后臺時,FirebaseInAppMessaging 都會刪除所有偵聽器。removeAllListeners您可以通過在類的方法上放置一個斷點來看到這一點DeveloperListenerManager。在主要活動的方法中注冊您的偵聽器onResume是處理此問題的一種方法。



查看完整回答
反對 回復 2023-05-17
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

Dependencies:

implementation platform('com.google.firebase:firebase-bom:26.6.0')

implementation 'com.google.firebase:firebase-analytics-ktx'

implementation 'com.google.firebase:firebase-inappmessaging-display-ktx'

implementation 'com.google.firebase:firebase-inappmessaging-ktx'


code on MainActivity onCreateMethod:

val firebaseIam = Firebase.inAppMessaging

firebaseIam.addClickListener { inAppMessage, action ->

            //write your functionality

            Log.d("here","successful)


        }


查看完整回答
反對 回復 2023-05-17
  • 3 回答
  • 0 關注
  • 271 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號