FCM'yi ilk kullanışım.
Firebase / quickstart-android'den bir örnek indiriyorum ve FCM Quickstart'ı kuruyorum . Ancak günlükten herhangi bir belirteç alamıyorum, hatta uygulamadaki LOG TOKEN düğmesine bile basamıyorum .
Ardından Firebase konsoluyla bir mesaj göndermeye çalışıyorum ve uygulama paketi adımı hedeflemeye ayarlıyorum. Gelen mesajlarım var.
FCM'nin kullanılabileceğini bilmek istiyorum GCM her şey yolunda.
Çözüm:
Çünkü ben bir Android geliştiricisi değilim, sadece bir arka uç geliştiricisi. Bu yüzden çözmem biraz zaman alıyor. Bence örnek uygulamada bazı hatalar var.
Kod :
RegistrationIntentService.java
public class RegistrationIntentService extends IntentService {
private static final String TAG = "RegIntentService";
public RegistrationIntentService() {
super(TAG);
}
@Override
protected void onHandleIntent(Intent intent) {
String token = FirebaseInstanceId.getInstance().getToken();
Log.i(TAG, "FCM Registration Token: " + token);
}
}
MyFirebaseInstanceIDService.java
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
private static final String TAG = "MyFirebaseIIDService";
/**
* Called if InstanceID token is updated. This may occur if the security of
* the previous token had been compromised. Note that this is called when the InstanceID token
* is initially generated so this is where you would retrieve the token.
*/
// [START refresh_token]
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
// String refreshedToken = FirebaseInstanceId.getInstance().getToken();
// Log.d(TAG, "Refreshed token: " + refreshedToken);
//
// // TODO: Implement this method to send any registration to your app's servers.
// sendRegistrationToServer(refreshedToken);
//
Intent intent = new Intent(this, RegistrationIntentService.class);
startService(intent);
}
// [END refresh_token]
/**
* Persist token to third-party servers.
* <p>
* Modify this method to associate the user's FCM InstanceID token with any server-side account
* maintained by your application.
*
* @param token The new token.
*/
private void sendRegistrationToServer(String token) {
// Add custom implementation, as needed.
}
}
Bunu MainActivity.java'ya ekleyin.
Intent intent = new Intent(this, RegistrationIntentService.class);
startService(intent);
Yukarıdakileri yaptıktan sonra , Token'ı Logcat'te alırsınız. Ama sonunda, onu elde etmenin uygun bir yolunu buldum . Örnek uygulamayı yüklemek için sadece hata ayıklama modunu kullanın ve jetonu ilk kez yüklediğinizde alabilirsiniz.
Ancak günlüğü yüklediğimde neden yazdıramadığını bilmiyorum. Belki mobil sistemle ilgili olabilir.
Ve sonra neden Bildirimi alamıyorum. FirebaseMessagingService.onMessageReceived aramadım sendNotification