Deep Link mit Push-Benachrichtigung - FCM - Android
, Was ich will: ich will per push-Benachrichtigung an die Nutzer. Wenn der Benutzer Tippen Sie auf die Benachrichtigung, sollte der Anwender die Navigation zu bestimmten Aktivitäten.
, Was ich getan habe: erstellte ich einen deep link in der FB-Konsole. Implementiert habe ich FirebaseInstanceIdService & FirebaseMessagingService als gut. Ich bin in der Lage zu fangen, FB-Nachricht, die ich geschickt von der FB-Konsole.
Was ist das Problem: ich bin nicht in der Lage zu fangen die dynamic link was ich erstellt habe in der FB-Konsole.
Mein code ist wie folgt.
MyFirebaseInstanceIDService.java
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
private final String TAG = "MyFirebaseInstanceID";
@Override
public void onTokenRefresh() {
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.e(TAG, "Refreshed token: " + refreshedToken);
}
}
MyFirebaseMessagingService.java
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private final String TAG = "MyFbaseMessagingService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
String message = remoteMessage.getNotification().getBody();
Log.e(TAG, "\nmessage: " + message);
sendNotification(message);
}
private void sendNotification(String message) {
Intent intent = new Intent(this, TestDeepLinkActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setAutoCancel(true)
.setContentTitle("FCM Test")
.setContentText(message)
.setSound(defaultSoundUri)
.setSmallIcon(R.drawable.common_google_signin_btn_icon_dark)
.setContentIntent(pendingIntent);
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(0, builder.build());
}
}
FB-Konsole Bild
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lösung:
https://developer.android.com/training/app-links/deep-linking
War ich mit diesen beiden links als deeplink: "www.somedomain.com/about" & "www.somedomain.com/app".
Bitte fügen Sie keine http oder https im Vorsatz-filter, werden Sie nicht unterstützt. Chekout diese Gespräch für weitere Klärung. Ich bin putting ein Bild von diesem chat, wie auch, Wenn im Fall, dass Sie in Zukunft den link bekommt ablaufen.
MyFirebaseMessagingService.java
AndroidManifest.xml
Extra:
Wenn Sie möchten, erhalten einige weitere Daten(ich.e userId oder loanId) in dieser Aktivität können Sie übergeben es an beim senden von push-Benachrichtigung von deinem server(ich.e-back-end-oder web-basierte dashboard). Das können Sie gerne tun unten.
Wichtig: Unten JSON funktioniert nicht, dies ist nur als Referenz. Dies ist auch nirgendwo erwähnt in der Dokumentation. So freundlich sich darum kümmern. Korrekte JSON ist oben.