動作環境について
Androidのb→dash mobile SDKにおいて、推奨環境と動作環境について紹介します。
下記に、b→dash mobile SDK(v5.0.2)の推奨環境と動作環境についてまとめましたのでご参照ください。
本記事で紹介しているb→dash mobile SDK(v5.0.2)と異なるバージョンのSDKの推奨環境と動作環境については、貴社カスタマーサクセス担当までお問い合わせください。
Android | 言語 | Android studio | |
推奨環境 | 6.0以上 | OpenJDK・JDK8, Kotlin | Bumblebee Patch1のみ |
動作環境 | 6.0以上 | OpenJDK・JDK8 | Bumblebee Patch1のみ |
minSdkVersion | compileSdkVersion | targetSdkVersion | |
ビルド環境 | 23のみ | 32のみ | 32のみ |
本SDKの計測は、以下のプラットフォームで動作確認を行っております。
Androidバージョン | 対応状況 |
Android 4.1, 4.2 | SDK ver2系から動作対象外 |
Android 4.4 | SDK ver4.0.1から動作対象外 |
Android 5.0 | SDK ver4.0.1から動作対象外 |
Android 6.0 | SDK ver5.0.1から動作対象外 |
Android 7.0 | 動作確認済 |
Android 8.0 | |
Android 9.0 | |
Android 10.0 | |
Android 11.0 | |
Android 12.0 |
利用している外部ライブラリについて
b→dash Mobile SDK利用している外部ライブラリは以下の一覧をご参照ください。
外部ライブラリ名 | 利用用途 |
play-services-ads-identifier | 広告 ID (“advertising ID”)を利用するため |
AndroidX(※1) | OSの互換性の開発に必要なため |
GSON v2.8.6 | SDK の基盤に必要なため |
Okhttp3 v4.9.3 | サーバーとの通信に必要なため |
※1. サポートライブラリは対象外となります
本SDK では AndroidX を採用しているため、サポートライブラリを利用している場合はAndroidX への移行を行う必要があります。
b→dash Mobile SDKでは「AndroidX」を用いて実装を行っています。貴社がサポートライブラリを利用している場合、ビルドが通らないためAndroidXへプロジェクトを移行していただく必要があります。
以下ではAndroidXへの移行手順を紹介しますので、導入がお済でない場合はご参照ください。
※ 既にAndroidXを導入している場合は本手順をスキップしてください
build.gradle で compileSdkVersion を 28 以降※にアップデートします
※ 実際の設定値は最新の環境のバージョンに合わせてください
<app/build.gradle>
android{
compileSdkVersion 28
..
}
build.gradle で gradle plugin を 3.2.0 以降にアップデートします
<build.gradle>
dependencies{
classpath 'com.android.tools.build:gradle:3.2.0'
}
Migrate to AndroidX を実行する
「Refactor -> Migrate to AndroidX」 を選択すると移行が開始します。
下記の内容が自動的に設定されていればAndroidXに移行完了です
android.enableJetifier=true
android.useAndroidX=true
b→dash Mobile SDKでは通信部分の処理を「Okhttp3 v4.9.3」を用いて実装を行っています。
そのため、既に貴社がOkhttp3を導入されている場合、ご利用されているOkhttp3のバージョンによってはビルドが通らない可能性があります。
ビルドが通らない場合は下記の記述を参考に Okhttp3 のバージョンアップを行ってください。
<app/build.gradle>
dependencies {
・・
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
・・
}
※ 2022年2月時点で対応しているOkhttp3の互換性は以下になります
最新のOkhttp3 v4.9.3へのバージョンアップが難しい場合はいずれかの動作確認済みバージョンをご利用ください
Okhttp3 バージョン | 対応状況 |
Okhttp3 v4.9.3 | 動作確認済&サポートバージョン |
Okhttp3 v4.9.1 | 動作確認済バージョン |
Okhttp3 v4.9.0 | |
Okhttp3 v4.8.0 | |
Okhttp3 v4.7.0 | |
Okhttp3 v4.6.0 | |
Okhttp3 v4.5.0 | |
Okhttp3 v4.4.0 |
SDKのインストール
ここではb→dash mobile SDKのAndroidアプリケーションへのインストール方法について説明します。
SDKファイルの組み込み
SDKファイルは、貴社カスタマーサクセス担当からzipファイル形式でお渡しさせていただきます。カスタマーサクセス担当から共有されたZIPファイルを展開し「bdash-mobile-sdk.aar」をライブラリとしてプロジェクトへ導入します。
プロジェクト導入以降の操作は Android Stuidio 環境での説明になります。
導入のサンプルコードは全て Java 言語で記載していますので、Kotlin を利用されている場合は適宜読み替えて導入をお願いいたします。
ご提供しているSDK(zip 内) のSampleディレクトリに、b→dash が提供している 「Push 通知」 と 「アプリ接客」 のサンプルプロジェクトが同梱されています。
SDK組み込み時の参考資料としてご活用ください。
build.gradleの編集
b→dash mobile SDKのコンパイルに必要な設定をプロジェクトのbuild.gradleに追加します。
以下はAndroid Studio 3.6.3以降のサンプルコードとなります。
<app/build.gradle>
dependencies {
implementation(name:'bdash-mobile-sdk', ext:'aar')
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0’
// Push通知を利用する場合は必須
implementation 'com.google.firebase.gms:firebase-messaging:20.2.4'
// AndroidX を利用.
implementation 'androidx.appcompat:appcompat:1.2.0'
// Okhttp3 を利用
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
apply plugin: 'com.google.gms.google-services'
<build.gradle>
dependencies {
// バージョンについては AndroidStudio / gradle の利用バージョンに応じて設定する
classpath 'com.android.tools.build:gradle:3.6.4'
classpath 'com.google.gms:google-services:4.3.5'
AndroidManifest.xml の編集
b→dash mobile SDKの動作/実行に必要な設定をAndroidManifest.xmlに追加します。
以下のパーミッションの設定を「<application>」の前に追加します
パーミッション | Protection Level | 概要 |
INTERNET | normal | b→dash mobile SDKが通信を行うために必要となります。 |
ACCESS_NETWORK_STATE | normal | b→dash mobile SDKが通信可能かを確認するために必要となります。 |
VIBRATE | normal |
b→dash mobile SDKがPush通知を行う際に必要となります。
(Push通知を利用しない場合は不要) |
追加の際は、下記パラメーターの記載例をご参照ください。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
以下の<meta-data> を manifest の 「<application>」 内に追加します
パラメーター | 値 |
APP_BDASH_ACCOUNT_ID | カスタマーサクセス担当より連絡しますので、その値を入力してください。 |
APP_BDASH_APP_ID | カスタマーサクセス担当より連絡しますので、その値を入力してください。 |
追加の際は、下記パラメーターの記載例をご参照ください。
<meta-data android:name="APP_BDASH_ACCOUNT_ID"
android:value="カスタマーサクセス担当より連絡しますので、その値を入力してください。" />
<meta-data android:name="APP_BDASH_APP_ID"
android:value="カスタマーサクセス担当より連絡しますので、その値を入力してください。" />
Proguard の除外設定
Proguard を使って難読化される場合は、アプリケーションの app ディレクトリに有る proguard-project.txt 又は proguard-rules.pro に以下の設定を追加してください。
-keep class com.f_scratch.bdash.mobile.analytics.**{
*;
}
SDKのバージョンアップをする場合は、提供したファイル内にある root ディレクトリ(解凍ディレクトリの直下)の「 SDKアップデート時に確認する項目について.txt」というファイルを必ずご確認ください。
[参考]ディレクトリ構成
プロジェクトへ導入したSDKは、アプリケーションの[パッケージ名] 以下に下記の構成で「フォルダ/ファイル」を生成します。赤文字で記載した箇所が本SDKで生成するディレクトリです。
shared_prefs > com.f_scratch.bdash.mobile.analytics.gcm.xml
files > com.fsbdash.mobile.analytics.ser > [ログデータ/SDKデータ用のファイル]
[参考]SDKのセキュリティ仕様
■暗号化について
b→dash mobile SDKでは https 通信を利用することでネットワークデータは暗号化されています。ローカルデータについては、暗号化はされておりません。
■各プラットフォームでデータが保持されている場所
Android:Library/Application Support
上記の領域は、root権限を行わない限り、他の不正なアプリやユーザーが直接アクセスすることはできません。
■データのデータの保存形式について
CoreDataで保持されています。内部的には SQLite形式となっています。