HockeyAppを使ってみる② SDKの組み込み



## 概要

前回の続き。
アプリ登録は済んだので、iOS, Androidの両アプリにSDKを組み込み、以下ができるようにする。

- クラッシュレポートの送信
- アプリのアップデート

バージョン

- Cocos2d-x v3.3


## iOSへの組み込み

### SDKをダウンロード

![](https://www.evernote.com/shard/s138/sh/dcd347da-a974-405a-abd9-1be1bb0ad35e/361ec54c2a3a1ef0d96a7d6060d2edf2/deep/0/cheers-iOS-(jp.blazeworks.cheers)---HockeyApp.png)

登録したアプリのOver Viewページの下の方にあるQuick Integrationを選択する。

![](https://www.evernote.com/shard/s138/sh/aa60d82e-f61f-451c-b511-322283355e60/42f8f86a13b3b86ca353945f4f2ef32a/deep/0/Integration--Download-SDK---HockeyApp.png)

上記リンクを選択してダウンロードする。
このページに組み込み方法は親切に書いてある。

### SDKを配置

ダウンロードしたzipファイルを解凍する。
中に入ってるHockeySDK.embeddedframeworkをCocos2d-xのプロジェクトに配置する。

```
proj.ios_mac/HockeySDK.embeddedframework/
```

XcodeのProject Navigator上でプロジェクトファイル(ルートのファイル）を右クリックして、Add file to..で配置したディレクトリを追加する。

- Added FoldersはCreate Groups
- Add to TargetはiOS

### 必要なフレームワークを追加

Xcode上で必要なフレームワークを追加する。

```
Project Navigator > プロジェクトファイル > General > Linked Frameworks and Library
```

![](https://www.evernote.com/shard/s138/sh/4813980c-f741-4377-8b31-aa2b829fefa0/7b86e04a301a367d814f5752829f1a3e/deep/0/cheers.xcodeproj.png)

以下のフレームワークを追加する。

```
AssetsLibrary.framework
CoreGraphics.framework
CoreText.framework
Foundation.framework
MobileCoreServices.framework
QuartzCore.framework
QuickLook.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
```

### 組み込み

```
proj.ios_mac/ios/AppController.mm
```

に以下を追加します。

```
#import <HockeySDK/HockeySDK.h>

    // Override point for customization after application launch.
    [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"HockeyAppのApp ID"];
    [[BITHockeyManager sharedHockeyManager] startManager];
    [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
```

iOSへの組み込みは以上。


## Androidへの組み込み

### SDKをダウンロード

![](https://www.evernote.com/shard/s138/sh/e9baf172-dcd1-44df-82c8-7845ce3a15a4/ddeffa99e3716e648113073107faa626/deep/0/cheers-Android-(jp.blazeworks.cheers)---HockeyApp.png)

登録したアプリのOver Viewページの下の方のQuick Integrationを選択する。

![](https://www.evernote.com/shard/s138/sh/9a5978d5-c78e-4522-8522-533d110a8246/b547f03c095b058119994bf8de1e56de/deep/0/Integration--Download-SDK---HockeyApp.png)

上記のリンクを選択してダウンロードする。

### SDKを配置

ダウンロードしたzipファイルを解凍する。

```
HockeySDK-Android/libs/HockeySDK-3.5.0.jar
```

を下記にコピーする。

```
proj.android/libs/HockeySDK-3.5.0.jar
```

### AndroidManifestに設定を追加

```
proj.android/AndroidManifest.xml
```

- アクティビティの追加
- インターネットへのアクセス許可
- 外部ストレージへのアクセス許可

```xml
<application>
	<activity android:name="net.hockeyapp.android.UpdateActivity" />
</application>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```

Cocos2d-xはデフォルトでインターネットアクセスの許可設定をしているので、外部ストレージのアクセス許可のみ追加。

### 組み込み

```
proj.android/src/org/cocos2dx/cpp/AppActivity.java
```

に以下を追加する。

```java
package org.cocos2dx.cpp;

import net.hockeyapp.android.CrashManager;
import net.hockeyapp.android.UpdateManager;

import org.cocos2dx.lib.Cocos2dxActivity;

public class AppActivity extends Cocos2dxActivity {
	
	@Override
	public void onResume() {
		super.onResume();
		checkForCrashes();
		checkForUpdates();
	}
	
	private void checkForCrashes() {
		CrashManager.register(this, "HockeyAppのApp ID");
	}
	
	private void checkForUpdates() {
		// Remove this for store builds!
		UpdateManager.register(this, "HockeyAppのApp ID");
	}
}
```

これでAndroidの組み込み完了ー！おつかれ！


## 参考

* [HockeyApp Support: HockeyApp for iOS](http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/hockeyapp-for-ios#set-up-xcode)