SDKアップグレードガイド    最終更新日 Wed, Sep 28, 2016

Edit on GitHub

Growth Push SDK及びGrowthbeat SDK 1.xのサポートは、2016年12月21日までとなっております。

SDKアップグレードガイド

最新のSDKにお乗り換えする方法についてご紹介いたします。

  • Growthbeat 2.0.0 ~ 2.0.8 SDKから最新のGrowthbeat SDKへのアップグレード
  • Growthbeat 1.x SDKから最新のGrowthbeat SDKへのアップグレード
  • Growth Push SDKから最新のGrowthbeat SDKへのアップグレード

についてご紹介いたします。

Growthbeat SDK 2.0.0 ~ 2.0.8からのアップデート

GCM廃止に伴いFCMへ変更が必要となります。   https://faq.growthbeat.com/article/226-gcmtofcm

Growthbeat SDK 1.xからのアップグレード

機能削除

  • インターフェスの変更があります。
    • 次の実装変更点でご確認ください。
  • Growth Analytics クラスがなくなりました。
    • Growth Analytics に関する記述は全て削除してください。
    • 2.x以降は、GrowthPush#setTag, trackEventをご利用ください。
  • GrowthbeatCoreクラスが、Growthbeatクラスに統合されました。
    • start, stop, initializeは削除されました。

導入コード

  • Growthbeat 1.x
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

    //...

    Growthbeat.getInstance().initialize(getApplicationContext(), "YOUR_APPLICATION_ID", "CREDENTIAL_ID");
    GrowthPush.getInstance().requestRegistrationId("YOUR_SENDER_ID", BuildConfig.DEBUG ? Environment.development : Environment.production);
    Growthbeat.getInstance().getClient(new Growthbeat.ClientCallback() {
            @Override
            public void callback(Client client) {
                Log.d("GrowthbeatSample", String.format("clientId is %s", client.getId()));
            }
        });
    Growthbeat.getInstance().start();

}

protected void onStop() {
    super.onStop();
    Growthbeat.getInstance().stop();
}
  • Growthbeat 2.x
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    //...
    GrowthPush.getInstance().initialize(getApplicationContext(), "YOUR_APPLICATION_ID", "CREDENTIAL_ID", BuildConfig.DEBUG ? Environment.development : Environment.production);

    // 以下は、必ずinitialize後に呼び出してください
    GrowthPush.getInstance().requestRegistrationId("YOUR_SENDER_ID");
    new Thread(new Runnable() {
        @Override
        public void run() {
            Client client = Growthbeat.getInstance().waitClient();
            Log.d("GrowthbeatSample", String.format("clientId is %s", client.getId()));
        }
    }).start();

}

protected void onStop() {
    super.onStop();
}

Growth Push SDKからのアップグレードについて

概要

Growth Push の認証から、Growthbeat の認証に移行されるため、新しい ApplicationId と SDKキー(クレデンシャルID)を取得する必要がございます。

ApplicationId は、Growth Push管理画面左メニュー「アプリ詳細」の 「Growthbeat アプリケーションID」 にて確認ができます。

SDKキーは、Growthbeat管理画面左メニュー「アカウント」の「クレデンシャルID > SDK」にて確認ができます。

注意点

これまでGrowth Pushでご利用いただいた、ApplicationIdは数値型、シークレットキーは文字列型になっています。  

項目
applicationId 数値型
secret 文字列型/32文字
Growthbeat SDKで利用するものは、applicationId、credentialIdともに文字列型になっています。
項目
applicationId 文字列型/16文字
credentailId 文字列型/32文字
Growthbeat SDK 乗り換え時に、これまで Growth Push で利用していたシークレットキーを設定しても、正しく動作しませんのでご注意くださいませ。 必ず、SDKキーをご利用ください。

導入コード

  • GrowthPush SDK
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    GrowthPush.getInstance().initialize(getApplicationContext(), YOUR_APPLICATION_ID, "APPLICATION_SECRET", BuildConfig.DEBUG ? Environment.development : Environment.production, true).register("YOUR_SENDER_ID");
    GrowthPush.getInstance().trackEvent("Launch");
    GrowthPush.getInstance().setDeviceTags();
}
  • Growthbeat SDK 2.x
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // GrowthPushの初期化
    GrowthPush.getInstance().initialize(getApplicationContext(), "YOUR_APPLICATION_ID", "CREDENTIAL_ID", BuildConfig.DEBUG ? Environment.development : Environment.production);

    // 以下は、必ずinitialize後に呼び出してください
    // Registration IDを明示的に要求
    GrowthPush.getInstance().requestRegistrationId("YOUR_SENDER_ID");
    // Launchイベントの取得
    GrowthPush.getInstance().trackEvent("Launch");
}

AndroidManifest.xml

Growthbeat SDKでは、 com.growthpush.BroadcastReceiverが廃止になりましたので、変更が必要となります。 この変更を行わないと、正しくプッシュ通知が送信できなくなりますので、ご注意ください。

  • GrowthPush SDK
<receiver
    android:name="com.growthpush.BroadcastReceiver"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

        <category android:name="YOUR_PACKAGE_NAME" />
    </intent-filter>
</receiver>
  • Growthbeat SDK 2.x
<service
    android:name="com.growthpush.TokenRefreshService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.android.gms.iid.InstanceID"/>
    </intent-filter>
</service>
<service android:name="com.growthpush.RegistrationIntentService"/>
<service
    android:name="com.growthpush.ReceiverService"
    android:exported="false" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    </intent-filter>
</service>
<receiver
    android:name="com.google.android.gms.gcm.GcmReceiver"
    android:exported="true"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <category android:name="YOUR_PACKAGE_NAME" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
        <category android:name="YOUR_PACKAGE_NAME" />
    </intent-filter>
</receiver>

移行確認方法

Growth Push の管理画面で、該当デバイスのプッシュ通知ステータスが Active になっていれば、正しくプッシュ通知が行えます。 移行対応は、以上となります。