SDKを導入する

前提条件

SDKを導入するためには、以下の環境を推奨しています。

  • Android Studio 3.5 以上
  • Kotlin 1.3.50 以上
  • Gradle 5.6.4 以上
  • Android Gradle Plugin 3.6.0 以上
    • 難読化ツールはR8推奨

またプロジェクトは、以下の条件を満たす必要があります。

  • プロジェクトのminSdkVersionが 16 以上
    ※ 計測対象はAPI 21以降となります

導入手順

1. SDKをアプリに追加する

  1. リポジトリの追加
    ルートプロジェクトの build.gradle を任意のエディタで開き、allprojects > repositories ブロックに mavenCentral リポジトリを追加します。
allprojects {
  repositories {
    // ...
    mavenCentral()
  }
}
  1. 利用モジュールの指定
    アプリの build.gradle (app) を任意のエディタで開き、dependencies ブロックに利用するモジュールを追加します。
dependencies {
  implementation 'io.karte.android:core:2.+' //イベントトラッキング機能を提供します。
  implementation 'io.karte.android:inappmessaging:2.+' //アプリ内メッセージ機能を提供します。
  implementation 'io.karte.android:notifications:2.+' //プッシュ通知の受信および効果測定機能を提供します。
  implementation 'io.karte.android:variables:2.+' //設定値配信機能を提供します。
  implementation 'io.karte.android:visualtracking:2.+' //ビジュアルトラッキング機能を提供します。※ 別途Gradle Pluginが必要です。
  implementation 'io.karte.android:inbox:0.+' // Push通知の送信履歴を取得する機能を提供します(β版)。
}

KARTE SDKでは機能毎にモジュールを提供しております。
利用する機能に応じて、部分的にモジュールを導入することが可能です。

なお core 導入は必須です。

Module nameGradleDescription
coreimplementation 'io.karte.android:core:2.+'イベントトラッキング機能を提供します。
inappmessagingimplementation 'io.karte.android:inappmessaging:2.+'アプリ内メッセージ機能を提供します。
notificationsimplementation 'io.karte.android:notifications:2.+'プッシュ通知の受信および効果測定機能を提供します。
variablesimplementation 'io.karte.android:variables:2.+'設定値配信機能を提供します。
visualtrackingimplementation 'io.karte.android:visualtracking:2.+ビジュアルトラッキング機能を提供します。
※ 別途Gradle Pluginが必要です。参照
inboximplementation 'io.karte.android:inbox:0.+'Push通知の送信履歴を取得する機能を提供します(β版)

app_info に含まれる module_info 内の表記は、Module nameと同じになります。

📘

各モジュールのバージョンについて

各モジュールは適宜バグ修正や機能追加をおこなっています。
バージョンを固定する際は、最新のバージョンを指定してください。
最新バージョンはリリースノートにて確認できます。

2. 設定ファイルをプロジェクトに追加する

SDKの初期化に必要な値(アプリケーションキーなど)が定義された設定ファイルをプロジェクトに追加します。

  1. 管理画面から設定ファイルをダウンロードする
    設定ファイルのダウンロード方法についてはサポートサイトをご覧ください。

  2. 設定ファイルをプロジェクトに配置する
    設定ファイルをプロジェクトのリソースに追加します。
    該当するビルドバリアントの res/values ディレクトリに配置してください。

3. SDKの初期化コードを追加する

次にアプリケーションにSDKの初期化コードを追加します。

  1. SDKのインポート宣言を追加
    android.app.Application クラスを継承したクラスがあるファイルの先頭にインポート宣言を追加します。
import io.karte.android.KarteApp
import io.karte.android.KarteApp;
  1. SDKの初期化コードを追加
    onCreate メソッド内に初期化コードを追加します。

🚧

設定ファイルによるSDKの初期化について

※設定ファイルによるSDK初期化は Android SDK v2.8.0 以上から利用できます。
古いSDKを利用している場合は KarteApp.setup(context: appKey) メソッドを利用して初期化してください。

class YourApplication : Application() {
  override fun onCreate() {
    super.onCreate()
    KarteApp.setup(this)
  }
}
public class YourApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    KarteApp.setup(this);
  }
}

🚧

アプリケーションキーについて

初期化時に指定するアプリケーションキー(Application Key)は、KARTE管理画面に記載されているAPIキーとは異なります。取得方法はアプリケーションキーの確認方法をご確認ください。

❗️

初期化について

初期化メソッドは必ず Application.onCreate() で呼び出してください。Activity.onCreate() で呼び出した場合は正常に動作しません。

3. カスタムURLスキームをハンドルする

設定方法については カスタムURLスキームを設定する をご覧ください。
※launchMode に "singleTop" などを指定したActivityではintentが更新されないため、カスタムURLスキームのハンドリングが正しく動作しない可能性があります。このような場合での対応方法については再開されるActivityに対応する をご確認ください。

トラブルシューティング

SDK導入時にビルドエラーが発生した場合は、FAQ: SDKを導入するとビルドエラーが起きる を参考にしてください。


What’s Next

SDKの導入が完了したら、次はイベントトラッキングの実装を行いましょう。