Page updated Nov 8, 2023

Register a device

Register with Amazon Pinpoint

You do not need to add these APIs to your app if you want to use Amplify with Amazon Pinpoint. You should use these APIs if you are interested in supporting multiple push providers.

You can use the Amplify.Notifications.Push.registerDevice() method to register the device with Pinpoint.

1class MyAppService : FirebaseMessagingService() {
2 // Called when a new token for the default Firebase project is generated
3 @Override
4 public void onNewToken(String token) {
5 super.onNewToken(token)
6
7 // Register device with Pinpoint
8 Amplify.Notifications.Push.registerDevice(token,
9 () -> Log.i("MyAmplifyApp", "Successfully registered device"),
10 error -> Log.e("MyAmplifyApp", "Error registering device", error)
11 );
12 }
13}
1class MyAppService : FirebaseMessagingService() {
2 // Called when a new token for the default Firebase project is generated
3 override fun onNewToken(token: String) {
4 super.onNewToken(token)
5
6 // Register device with Pinpoint
7 Amplify.Notifications.Push.registerDevice(token,
8 { Log.i("MyAmplifyApp", "Successfully registered device") },
9 { Log.e("MyAmplifyApp", "Error registering device", error) }
10 )
11 }
12}
1class MyAppService : FirebaseMessagingService() {
2 // Called when a new token for the default Firebase project is generated
3 override fun onNewToken(token: String) {
4 super.onNewToken(token)
5
6 try {
7 // Register device with Pinpoint
8 Amplify.Notifications.Push.registerDevice(token)
9 Log.i("MyAmplifyApp", "Successfully registered device")
10 } catch (error: PushNotificationsException) {
11 Log.e("MyAmplifyApp", "Error registering device", error)
12 }
13 }
14}
1class MyAppService : FirebaseMessagingService() {
2 // Called when a new token for the default Firebase project is generated
3 @Override
4 public void onNewToken(String token) {
5 super.onNewToken(token)
6
7 // Register device with Pinpoint
8 RxAmplify.Notifications.Push.registerDevice(token).subscribe(
9 () -> Log.i("MyAmplifyApp", "Successfully registered device"),
10 error -> Log.e("MyAmplifyApp", "Error registering device", error)
11 );
12 }
13}

You must also add the custom service extension to AndroidManifest.xml in the application tag:

1<service android:name=".MyAppService"
2 android:exported="false">
3 <intent-filter>
4 <action android:name="com.google.firebase.MESSAGING_EVENT" />
5 </intent-filter>
6</service>