푸시 연동

1. FCM 설정 가이드

Firebase 콘솔에 애플리케이션 프로젝트를 추가하고 구성 파일인 google-services.json 파일 을 다운로드한 후, LTV 대시 보드에서 API 키와 sender ID를 업데이트합니다.

이 링크 를 통해서 sender ID 및 API 키를 얻는 방법을 확인하세요.

앱에서 푸시 알림을 위해 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

그리고 하단에 다음 내용을 추가합니다.

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

참고 : Android API 14 이상을 사용하려면 Firebase 클라우드 메시징이 필요합니다. API 14보다 낮은 API의 경우 firebase-messaging 버전 10.2.6을 사용하고 firebase-ads 라이브러리가 필요하지 않습니다.

탭조이 푸시 알림 API 연동하기

앱 프로젝트에 FirebaseMessagingServiceFirebaseInstanceIdService를 확장하는 두 개의 클래스를 만듭니다.

이 두 클래스에서 두 개의 Tapjoy 푸시 알림 API를 호출합니다.

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

예시:

    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>

푸시 알림을 보내기 전에 Tapjoy 대시 보드에서 API 서버 키와 sender ID를 설정해야합니다. Tapjoy 대시 보드 상단의 "설정 > 앱 설정"으로 이동 한 다음 왼쪽 메뉴 표시 줄에서 "푸시 인증서"를 메뉴를 선택하여 키를 설정 하십시오.

Firebase 콘솔에서 sender ID와 API 키를 찾을 수 있습니다.

푸시에 대한 참고 사항

** Tapjoy와 동시에 다른 푸시 제공 업체 또는 자체 푸시 서버를 사용할 수 있나요? **

가능합니다. 이 문서 를 참고해 주세요.

푸시 인증서가 곧 만료됩니다.

만료되기 전에 현재 인증서를 새 인증서로 교체하십시오.

2. 커스텀 페이로드 전송하기

Tapjoy로 푸시 알림을 보낼 때 커스텀 페이로드 (사용자가 볼 수 없는 추가적인 데이타. 대시보드에서 설정함)를 보낼 수 있습니다. 이 사용자 지정 페이로드는 임의의 문자열이 될 수 있으며, 앱은 이 전달받은 페이로드 문자열을 데이타로 활용할 수 있습니다. 일반적인 사용 예시에는 푸시에 응답한 사용자에게 가상화폐를 보상하거나, 사용자 지정 URL 체계를 통해 사용자를 애플리케이션의 특정 위치로 보내는 것 등이 포함됩니다. 앱에서 커스텀 푸시 페이로드를 읽는 방법에 대한 자세한 내용은 커스텀 페이로드 문서 를 참조하세요.

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. 푸시 옵트 아웃 API (Android SDK 11.1+)

이 API를 사용하여 푸시 알림 수신을 원하지 않는 사용자를 옵트 아웃 할 수 있습니다. 사용하기 전에 Tapjoy.connect 호출을 사용하여 Tapjoy SDK에 먼저 연결해야합니다.

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

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

앱의 설정 페이지에 토글 또는 체크 박스 UI를 추가하는 것을 권장드립니다.