SDKの導入: Android (v3.1.1以前)
このページはLogBase Android SDK バージョン 3.1.1 以下の導入手順になります。 LogBase Android SDK バージョン 4.0.0 以上を利用する場合は こちら を参照してください。
Firebaseの送信者IDの取得
Firebase からプロジェクトを選択し、プロジェクトの設定を選択します。
クラウドメッセージングを選択し、表示された送信者IDをメモします。
app/build.gradle の変更
LogBase Android SDK の手順に従い app/build.gradle
を変更します。
logbase.xml を追加
次の内容を app/src/main/res/values/logbase.xml
というファイル名で追加します。
なお、コード内にあるSENDER_ID
はFirebaseで取得した送信者IDになります。またYOUR_APPLICATION_ID
とYOUR_APPLICATION_SECRET_KEY
は、LogBaseの「設定」→「導入手順」に記載されているアプリIDとシークレットキーに置き換えてください。
logbase.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="logbase_application_id" translatable="false">YOUR_APPLICATION_ID</string>
<string name="logbase_secret_key" translatable="false">YOUR_APPLICATION_SECRET_KEY</string>
<string name="logpush_sender_id" translatable="false">SENDER_ID</string>
</resources>
SDK の初期化
アプリを開始して最初に起動されるActivity
のonCreate()
で初期化します。 またonNewIntent()
でLogPush#onNewIntent()
を呼び出します。
import net.p_lucky.logbase.init.LogBaseInitializer;
import net.p_lucky.logbase.init.LogBaseParams;
import net.p_lucky.logbase.init.LogBaseServices;
public class MainActivity extends AppCompatActivity {
LogBaseServices services;
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
// 初期化
services = LogBaseInitializer.initialize(this);
// ...
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
services.logPush().onNewIntent(intent);
}
}
Google Play開発者サービスの必要性
アプリをインストールしたユーザの端末が下記の場合、LogBase によるプッシュ通知の配信が行えません。
- Google Play開発者サービスがインストールされていない
- インストールされているGoogle Play開発者サービスのバージョンが古い
確実にユーザへプッシュ通知を配信したい場合には、Google Play開発者サービスのインストールないし更新を促すメッセージを端末のユーザに表示しましょう。
Android.Intent.Category.LAUNCHER を指定した<activity>が複数ある場合
通知をタップしたときに起動するActivityは、AndroidManifest.xmlで最も上に書かれたものになります。
また、アプリのユーザが AndroidManifest.xml で最も上に書かれたもの以外のandroid.intent.category.LAUNCHERを指定した<activity>からアプリを起動した際にはLogBaseのデバイス登録やタグ付けなどが行われない可能性があります。