Jit Dasgupta
Jit Dasgupta

Reputation: 57

MyFirebaseInstanceIDService "onTokenRefresh" is not called

MyFirebaseInstanceIDService "onTokenRefresh()" is not fired. The main activity has no code. I just mention the service in the main fest xml.

I am sending the code and output please someone suggests some solution. I successfully connect them. Here is the image. FireBase successfully connect Image .

Please, some one sends some suggestion so that I can overcome it.

Gradel

: app

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "com.live.bbw.liveapp"
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-messaging:10.0.1'
testCompile 'junit:junit:4.12'
}


apply plugin: 'com.google.gms.google-services'

:project

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.0.0'
}
}

allprojects {
repositories {
    jcenter()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

Services

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService
{

private static final String TAG = "MyFirebaseIIDService";
public static final String REGISTRATION_SUCCESS = "RegistrationSuccess";


@Override
public void onTokenRefresh() {
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.v("TEST", "Refreshed token: " + refreshedToken);
}

private void sendRegistrationToServer(String token) {

}
}





public class MyFirebaseMessagingService extends FirebaseMessagingService {

private static final String TAG = "TEST";

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    //Displaying data in log
    //It is optional
    Log.v(TAG, "From: " + remoteMessage.getFrom());
    Log.v(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());

    //Calling method to generate notification
    sendNotification(remoteMessage.getNotification().getBody());
}

//This method is only generating a push notification
//It is same as we did in earlier posts
private void sendNotification(String messageBody) {
    Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
            PendingIntent.FLAG_ONE_SHOT);

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle("Firebase Push Notification")
            .setContentText(messageBody)
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(0, notificationBuilder.build());
}
}

Output

03-05 16:29:23.420 2526-2526/? I/PMFunc: prepare 0 com.live.bbw.liveapp
03-05 16:29:23.420 2526-2526/? I/art: Late-enabling -Xcheck:jni
03-05 16:29:23.450 2526-2526/? D/Environment: 111 rawUserId = 0
03-05 16:29:23.450 2526-2526/? D/AndroidKeyStoreProvider: overseas product
03-05 16:29:23.870 2526-2526/com.live.bbw.liveapp D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
03-05 16:29:23.960 2526-2526/com.live.bbw.liveapp D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
03-05 16:29:24.010 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 17.653ms
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp I/FA: App measurement is starting up, version: 10084
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp D/FA: Debug-level message logging enabled
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp D/FA: AppMeasurement singleton hash: 927531083
03-05 16:29:24.120 2526-2526/com.live.bbw.liveapp V/FA: Collection enabled
03-05 16:29:24.120 2526-2526/com.live.bbw.liveapp V/FA: App package, google app id: com.live.bbw.liveapp, 1:994131540882:android:f9dd91f670fe6909
03-05 16:29:24.120 2526-2526/com.live.bbw.liveapp I/FA: To enable faster debug mode event logging run:
                                                      adb shell setprop debug.firebase.analytics.app com.live.bbw.liveapp
03-05 16:29:24.200 2526-2526/com.live.bbw.liveapp V/FA: Registered activity lifecycle callback
03-05 16:29:24.210 2526-2526/com.live.bbw.liveapp I/FirebaseInitProvider: FirebaseApp initialization successful
03-05 16:29:24.220 2526-2526/com.live.bbw.liveapp I/InstantRun: starting instant run server: is main process
03-05 16:29:24.230 2526-2590/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:29:24.250 2526-2590/com.live.bbw.liveapp V/FA: Connecting to remote service
03-05 16:29:24.500 2526-2526/com.live.bbw.liveapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
03-05 16:29:24.530 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 28.247ms
03-05 16:29:24.590 2526-2526/com.live.bbw.liveapp V/FA: onActivityCreated
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:origin statusbar style 
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:windowDrawsFlag set
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:IconColor=1
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:StatusBarColor final set ff303f9f
03-05 16:29:25.020 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 16.817ms
03-05 16:29:25.020 2526-2590/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:29:25.020 2526-2590/com.live.bbw.liveapp V/FA: Connection attempt already in progress
03-05 16:29:25.020 2526-2590/com.live.bbw.liveapp V/FA: Activity resumed, time: 195978479
03-05 16:29:25.040 2526-2526/com.live.bbw.liveapp I/ViewRootImpl: CPU Rendering VSync enable = true
03-05 16:29:25.040 2526-2653/com.live.bbw.liveapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
03-05 16:29:25.050 2526-2526/com.live.bbw.liveapp D/Atlas: Validating map...
03-05 16:29:25.130 2526-2653/com.live.bbw.liveapp I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8916_32_LA.BR.1.1.3.C14__release_AU (Ic4528faa6f)
                                                            OpenGL ES Shader Compiler Version: E031.25.03.04
                                                            Build Date: 06/14/16 Tue
                                                            Local Branch: mybranch20312125
                                                            Remote Branch: quic/LA.BR.1.1.3.c14_1
                                                            Local Patches: NONE
                                                            Reconstruct Branch: NOTHING
03-05 16:29:25.130 2526-2653/com.live.bbw.liveapp I/OpenGLRenderer: Initialized EGL, version 1.4
03-05 16:29:25.150 2526-2653/com.live.bbw.liveapp D/OpenGLRenderer: Enabling debug mode 0
03-05 16:29:25.300 2526-2526/com.live.bbw.liveapp W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
03-05 16:29:25.330 2526-2590/com.live.bbw.liveapp D/FA: Connected to remote service
03-05 16:29:25.330 2526-2590/com.live.bbw.liveapp V/FA: Processing queued up service tasks: 2
03-05 16:29:25.340 2526-2526/com.live.bbw.liveapp I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@27de329c time:70826474
03-05 16:29:29.885 2526-2590/com.live.bbw.liveapp V/FA: Inactivity, disconnecting from the service
03-05 16:29:34.505 2526-2590/com.live.bbw.liveapp V/FA: Session started, time: 195988506
03-05 16:29:34.505 2526-2590/com.live.bbw.liveapp I/FA: Tag Manager is not found and thus will not be used
03-05 16:29:34.515 2526-2590/com.live.bbw.liveapp D/FA: Logging event (FE): _s, Bundle[{_o=auto, _sc=MainActivity, _si=3883244167549912924}]
03-05 16:29:34.545 2526-2590/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:29:34.545 2526-2590/com.live.bbw.liveapp V/FA: Connecting to remote service
03-05 16:29:34.555 2526-2590/com.live.bbw.liveapp D/FA: Connected to remote service
03-05 16:29:34.555 2526-2590/com.live.bbw.liveapp V/FA: Processing queued up service tasks: 1
03-05 16:29:39.595 2526-2590/com.live.bbw.liveapp V/FA: Inactivity, disconnecting from the service
03-05 16:34:21.528 2526-11478/com.live.bbw.liveapp V/FA: Recording user engagement, ms: 297023
03-05 16:34:21.528 2526-11478/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:34:21.528 2526-11478/com.live.bbw.liveapp V/FA: Connecting to remote service
03-05 16:34:21.548 2526-11478/com.live.bbw.liveapp V/FA: Activity paused, time: 196275492
03-05 16:34:21.548 2526-11478/com.live.bbw.liveapp D/FA: Logging event (FE): _e, Bundle[{_o=auto, _et=297023, _sc=MainActivity, _si=3883244167549912924}]
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp V/FA: Connection attempt already in progress
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp D/FA: Connected to remote service
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp V/FA: Processing queued up service tasks: 2
03-05 16:34:26.368 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 7.783ms
03-05 16:34:26.708 2526-11478/com.live.bbw.liveapp V/FA: Inactivity, disconnecting from the service
03-05 16:34:28.408 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 27.545ms
03-05 16:34:30.328 2526-2526/com.live.bbw.liveapp D/FA: Service connection suspended
03-05 16:34:30.338 2526-2526/com.live.bbw.liveapp D/FA: Service connection suspended
03-05 16:34:30.338 2526-2526/com.live.bbw.liveapp D/FA: Service connection suspended

Thanking You Jit Dasgupta

Upvotes: 1

Views: 1505

Answers (1)

Peter Haddad
Peter Haddad

Reputation: 80944

The onTokenRefreshcallback fires whenever a new token is generated

The registration token may change when:

  1. The app deletes Instance ID
  2. The app is restored on a new device
  3. The user uninstalls/reinstall the app
  4. The user clears app data.

So if you are debugging the app in your phone, onTokenRefresh() wont be called, except when one of the above happens.

More info here:

https://firebase.google.com/docs/cloud-messaging/android/client

Upvotes: 1

Related Questions