推送消息

1. FCM配置指南

在Firebase Console 添加应用工程并下载配置文件“google-services.json”,同时在LTV dashboard更新API密钥和Sender ID。

关于如何得到Sender ID 和API 密钥,请参考这里

在您的APP中添加Firebase SDK。

将已下载的“google-services.json”文件添加到您工程的根目录。

在 <project level>/build.gradle中添加:

    classpath 'com.google.gms:google-services:4.0.1’

在<app level>/build.gradle中添加:

Maven { 
  url ‘https://maven.google.com’ 
  name ‘Google’ 
}

compile “com.google.firebase:firebase-messaging:17.0.0”
compile “com.google.firebase:firebase-ads:15.0.1”

在build.gradle的底部添加:

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

注意: Firebase云消息要求Android API 14及以上版本。对于API 14以下版本,请使用firebase-messaging 10.2.6版本并且firebase-ads库不再需要。

集成Tapjoy推送消息

在您App的工程中创建两个类分别扩展FirebaseMessagingServiceFirebaseInstanceIdService

在这两个类中,分别调用Tapjoy push notification APIs

java
    Tapjoy.setReceiveRemoteNotification(remoteMessage.getData());
    Tapjoy.setDeviceToken(deviceToken);

示例:

java
    public class FCMMessageService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
       Tapjoy.setReceiveRemoteNotification(remoteMessage.getData());
    }

    public class FCMTokenService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
    // Get updated InstanceID token. 
    String deviceToken = FirebaseInstanceId.getInstance().getToken();
    Tapjoy.setDeviceToken(deviceToken);
    }

在您应用的 AndroidManifest.xml添加如下:

<service android:name="<your_FirebaseInstanceIdService_name>">
  <intent-filter>
    <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
  </intent-filter>
</service>
<service android:name="<your_FirebaseMessagingService_name">
 <intent-filter>
   <action android:name="com.google.firebase.MESSAGING_EVENT"/>
 </intent-filter>
</service>

在发送push notification前,您需要在Tapjoy控制面板中设置API server key 和 sender ID。请点击控制面板左上方的”设置”然后在左菜单栏中选择”Push”来配置您的key。

Sender ID和API Key可以在Google API Console找到

推送注意事项

我可以在使用Tapjoy的同时选择另一个push提供商或者我自己的push服务吗?

可以. 请参考文章.

我的push认证快要到期了

请在到期前替换一个新的认证。

2. 发送自定义推送

当用Tapjoy发送推送通知时,您可以发送自定义负载(填入控制面板但用户不可见的字符串)。自定义负载可以为任意字符串,您的app可以用您设定的反应方式显示字符串。常见应用包括奖励用户反馈通知消息,在应用中通过自定义URL给用户发送特定位置。想要了解如何在您的app上自定义推送负载,请点击自定义负载文件

3. 定制推送图标

当您发送通知时应用按钮会通过Tapjoy控制面板被设置成默认通知按钮(FCM消息)。

您可以在您应用工程AndroidManifest.xml<application> 中自定义您的推送图标:

//notification bar small icon. 
<meta-data android:name="com.tapjoy.notification.icon" android:resource="@drawable/{id}"/>  

//notification panel large icon. (above 11.6.0)  
<meta-data android:name="com.tapjoy.notification.icon.large" android:resource="@drawable/{id}"/>  

//The icon which is using partial alpha value below android 5.0 (above 11.6.0)
<meta-data android:name="com.tapjoy.notification.icon.compat" android:resource="@drawable/{id}"/>

4. Android SDK 11.1+ 推送屏蔽API

您可以通过使用API筛选出不想接受推送通知的用户。使用之前您应该先通过调用Tapjoy.connect连接Tapjoy SDK。

java
    // To get the current status
    boolean Tapjoy.isPushNotificationDisabled();

    // To set/unset push notification disabled
    void Tapjoy.setPushNotificationDisabled(boolean);

我们建议在您的app设置页面添加触发开关或检查框界面。