ミログのAppLogSDK設置

AppLog 

公開アプリに対して「1アクティブユーザにつき1円/月で開発者へ」という新しいビジネスモデル。
Android端末内のアプリ関係の情報をミログサーバへ送信する。

SDK内容

ファイルは、jarファイル1個とアイコン画像が1個だけ。

AppLogSDK/
├── AppLogSDK.jar
├── doc
│     ├── AppLogSDK Introduction Procedure.pdf
│     └── ApplogSDK導入手順.pdf
└── res
    └── drawable
        └── applogsdk_icon.png
3 directories, 4 files

手順

SDKアーカイブ内のPDFから。

  1. jarファイルにビルドパスを通す。
  2. AndroidManifest.xmlを編集。
  3. 通知バー向けアイコン画像の配置。
  4. 起動コードを記述。

jarファイルにビルドパスを通す。

よくある外部jarファイルを含めてビルドするやり方。

(1) Eclipse の Package Explorer から AppLog SDK を導入したい Android アプリ
プロジェクトを右クリックし「Properties」を選択してください
(2) Properties を選択する事で 図 1 の画面が表示された後、「Java Build Path」のメ
ニューを選択してください
(3) 「Libraries」タブを選択し表示される画面から「Add External JARs...」ボタンを押
下し、ダウンロードした AppLogSDK.jar を選択してださい
(4) AppLogSDK が正しく 図 2 の様に Android プロジェクトに組込まれた事を確認し
た後、「OK」ボタンを押下し、設定を保存してください

AndroidManifest.xmlを編集。

以下の記述。パーミッションと通知ダイアログの設定。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="jp.co.test.testapp" android:versionCode="1"              
          android:versionName="1.0">
  <!-- ↓ For ApplogSDK ↓ -->
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.GET_TASKS" />
  <user-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  <!-- ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ -->
  <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="jp.co.milog.TestSkeltonActivity" 
              android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <!-- ↓ For ApplogSDK ↓ -->
    <meta-data android:value="XXXXX" android:name="com.applogsdk.APPLICATIONID"/>
    <meta-data android:value="YYYYY" android:name="com.applogsdk.DEVELOPERID"/>
    <activity android:name="com.applogsdk.ui.WebDialog" android:theme="@android:style/Theme.Dialog"/>
    <service android:name="com.applogsdk.service.NotifyService"/>
    <receiver android:name="com.applogsdk.receiver.Receiver" 
              android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </receiver>
    <!-- ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ -->

通知バー向けアイコン画像の配置。

SDKに含まれてるアイコンをコピーする。

お客様のアプリの res フォルダ内に drawable
フォルダを作成頂き、applogsdk_icon.png を追加して頂く事で完了となります。

起動コードを記述。

一行記述する。

public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);

    // AppLog SDK サービス起動
    AppLogSDK.start(R.drawable.applogsdk_icon, this.getApplicationContext());

  }
}

気になる点

ユーザ側に「外部にデータを送信します。」という通知を行い「許可」か「拒否」を選択させる。
開発者にこの通知を非表示にするSDK仕様にはなってないので、ここをユーザがどう思うか。
通知自体は、起動直後でなく、しばらくしてPUSHされてから通知バーに表示される。