मैं फ़ायरबेस इन-ऐप संदेशों को कस्टमाइज़ करने का प्रयास कर रहा हूं।

मैं इस लेख का अनुसरण कर रहा हूं:https://firebase.google.com/ डॉक्स/इन-ऐप-मैसेजिंग/कस्टमाइज़-मैसेज

लेख के अनुसार मैंने FirebaseInAppMessagingDisplay वर्ग का अपना कार्यान्वयन बनाया है।

import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplay;
import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplayCallbacks;
import com.google.firebase.inappmessaging.model.InAppMessage;

public class MyMessageDisplayImplementation implements 
FirebaseInAppMessagingDisplay {
    @Override
    public void displayMessage(InAppMessage inAppMessage
        , FirebaseInAppMessagingDisplayCallbacks 
    firebaseInAppMessagingDisplayCallbacks) {
         Log.e("INAPP_MESSAGE","received an inapp message");
    }
}

फिर इस कार्यान्वयन को हेडलेस फायरबेस इन-ऐप मैसेजिंग एसडीके के साथ पंजीकृत किया

public class MyApplication extends Application{

@Override
public void onCreate() {
    super.onCreate();
    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(new MyMessageDisplayImplementation());
}

}

मेरी समस्या यह है कि, मुझे displyaMessage() कॉलबैक नहीं मिल रहा है।

जब मैंने एप्लिकेशन क्लास से कोड की लाइन, " FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(new MyMessageDisplayImplementation());" पर टिप्पणी की, तो यह डिफ़ॉल्ट संदेश दिखा रहा है। लेकिन, जब मैं इस कोड को वापस डालता हूं तो कुछ भी नहीं हो रहा है।

कृपया मदद करें यदि कोई इस इन-ऐप संदेश अनुकूलन के बारे में बेहतर विचार जानता है।

1
Suneesh Ambatt 28 फरवरी 2019, 16:01

1 उत्तर

सबसे बढ़िया उत्तर

फायरबेस डॉक की जानकारी थोड़ी भ्रमित करने वाली है। वास्तव में यह बहुत ही सरल है।

इन निर्भरताओं को ऐप स्तरीय ग्रेडेल फ़ाइल में जोड़ा गया।

implementation 'com.google.firebase:firebase-core:16.0.8'
implementation ("com.google.firebase:firebase-inappmessaging:17.0.3")

नोट: हमें "कार्यान्वयन 'com.google.firebase:firebase-inappmessaging-display:17.1.1'" निर्भरता जोड़ने की आवश्यकता नहीं है

गतिविधि शुरू करने पर DisplayMessage घटक पंजीकृत करें।

import com.google.firebase.inappmessaging.FirebaseInAppMessaging
import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplay

///////

override fun onStart() {
    super.onStart()
    Log.e("MESSAGE", "activity started")
    var firebaseInAppMessagingDisplay = FirebaseInAppMessagingDisplay { inAppMessage, cb ->
        // You can show the message here.
        // The variable inAppMessage has all information about the campaign that we putting in console (title, content, image url.. etc)
        Log.e("MESSAGE", "Display Message callback invoked")
    }
    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(firebaseInAppMessagingDisplay)
}
1
Suneesh Ambatt 10 अप्रैल 2019, 18:29