Files
UnrealEngineUWP/Engine/Plugins/Runtime/GoogleCloudMessaging/Source/Java/RemoteNotificationsRegistrationIntentService.java
Chris Babcock a2d9bd542e Change Android class names from ue4 to unreal
#jira UE-104943
#ue5
#android
#review @Jack.Porter
#rb Jack.Porter

[CL 15284943 by Chris Babcock in ue5-main branch]
2021-02-02 17:21:35 -04:00

47 lines
1.5 KiB
Java

// Copyright Epic Games, Inc. All Rights Reserved.
package com.epicgames.unreal;
import java.io.IOException;
import android.app.IntentService;
import android.content.Intent;
import com.google.android.gms.iid.InstanceID;
import com.google.android.gms.gcm.GoogleCloudMessaging;
import com.google.android.gms.gcm.GcmPubSub;
public class RemoteNotificationsRegistrationIntentService extends IntentService
{
public RemoteNotificationsRegistrationIntentService()
{
super( "com.epicgames.unreal.RemoteNotificationsRegistrationIntentService" );
}
public RemoteNotificationsRegistrationIntentService( String name )
{
super( name );
}
@Override
protected void onHandleIntent( Intent intent )
{
try
{
InstanceID instanceID = InstanceID.getInstance( GameActivity._activity.getApplicationContext() );
String Token = instanceID.getToken( GameActivity._activity.GCMSenderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null );
// subscribe to default topic: /topics/global
subscribeTopics( Token );
GameActivity._activity.nativeGCMRegisteredForRemoteNotifications( Token );
}
catch( Exception e )
{
GameActivity._activity.nativeGCMFailedToRegisterForRemoteNotifications( "Failed to complete token refresh" );
}
}
private void subscribeTopics( String token ) throws IOException {
GcmPubSub pubSub = GcmPubSub.getInstance( GameActivity._activity.getApplicationContext() );
pubSub.subscribe( token, "/topics/global", null );
}
}