Appsee を使ってみた
Appsee を趣味のアプリにインストールしてみて面白かったのでご紹介します。 Appsee をインストールしておくと、ユーザーが使っているときの動画を記録してくれます。その他、アプリの改善に役立つ情報も取ってくれます。
以下、Appsee の管理画面の紹介です。
Overview
Sessions All
Video
- 右側の Play Video をタップするとセッション動画が再生されます。
UI Analysis Screens
- 画面のどこがタップされているかわかります
価格
公式ページ公式ページに下記のように書いてありました。
- アプリ解析数、セッション数、ビデオ記録数により異なりますが、Appseeは月額95,000円~
結構値がはりますが、これを使ってUIの研究ができたら面白そうですね。
Helpshift
helpshiftというユーザーサポートをチャット形式で出来るようにしてくれるサービスがあったので試してみました。
- ユーザー登録
- API_KEY, DOMAIN, APP_IDの取得
SDKの導入
SDKは以下の種類のものが用意されています。
- iOS
- Android
- Unity
- Cocos2d-x
PhoneGap
SDKでできること
- In-app Messaging
- Showing a Particular FAQ Section
- Showing a Particular FAQ Question
- Skinning the Helpshift SDK to match the look-n-feel of your app
- Customize localizable strings to support multiple languages in the SDK UI.
- Push and In-app notifications
- Track events and user actions when the user starts a new conversation.
- Asking for reviews and feedback
・質問を送信する為のチャット画面を表示するコード
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Helpshift installForApiKey:@"xxxxxxxxxxx"
domainName:@"xxxxxxxxxxx"
appID:@"xxxxxxxxxxx"];
// NOTE: This is just an empty window & a view controller to demo the showConversation API call
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = [[UIViewController alloc] init];
[self.window makeKeyAndVisible];
// You can get rid of the above 4 lines once done testing Helpshift SDK
// NOTE: Move the line below to wherever you would like the Helpshift chat screen
// to open. E.g. a contact button in your app settings
[[Helpshift sharedInstance] showConversation:self.window.rootViewController
withOptions:nil];
return YES;
}
・SDKのチャット画面
・チャット画面から質問を送ると、helpshiftからメールが届く
・管理画面もチャット形式になっていて、対応した人・デバイスの種類・OSバージョンなどが自動で表示される。またメモやタグをつけて管理できる。
管理ページからサクッとFAQページが作成できる
価格はMAUに応じたプラン制
プラン名 | MAU | 価格 |
---|---|---|
Starter | 20,000 | $20/月 |
Pro | 100,000 | $100/月 |
Growth | 500,000 | $500/月 |
所感
- 従来の問い合わせメールよりチャット形式の方が確かに質問しやすい
- この形式なら気軽に質問して、問題解決までが素早くできる
- レビュー欄に不満を書かれるのを防げそう
- サポート体制の整っていない、小規模アプリの場合、有効そう
- Q&Aで細かい操作方法のTipsなどを書くと良さそう
3Dモデルを表示する SceneKit #1
Scene Kitを使って3Dモデル(.dae)を表示してみました。
Scene kit
“Scene Kit is a high-level API on top of OpenGL that operates on a scene graph”
DAE
Digital Asset Exchange Documents - XML based - Supported by the major 3D tools - Popular in the industry
Code
NSURL *url = [[NSBundle mainBundle] URLForResource:@"lego"
withExtension:@"dae"];
NSError *error;
SCNScene *scene = [SCNScene sceneWithURL:url options:nil error:&error];
SCNView *view = [[SCNView alloc] initWithFrame:self.window.frame options:nil];
view.scene = scene;
self.window.contentView = view;
Xcode上で編集もできるようです
Finder&Previewで見れます
もしも開発中にAdMobが表示されなくなったら
AdMobの設定もちゃんとあってるし、今までちゃんと表示されていたのに。。。となった時は、
Advertising Identifierをリセットすると解決する可能性があります。
設定アプリ -> 「プライバシー」-> 「広告」
パスコードロックのライブラリ
THPinViewControllerを使うとiOS 7 Styleのパスコードロックが簡単にできます。
Github
https://github.com/antiraum/THPinViewController
Podfile
cocoapodsにも対応しています。
pod 'THPinViewController', '~> 1.1.2'
Screenshot
Usage
pinViewController.backgroundColor = [UIColor lightGrayColor];
pinViewController.promptTitle = @"Enter PIN";
pinViewController.promptColor = [UIColor whiteColor];
pinViewController.view.tintColor = [UIColor whiteColor];
pinViewController.hideLetters = YES;
[self presentViewController:pinViewController animated:YES completion:nil];
// mandatory delegate methods
- (NSUInteger)pinLengthForPinViewController:(THPinViewController *)pinViewController
{
return 4;
}
- (BOOL)pinViewController:(THPinViewController *)pinViewController isPinValid:(NSString *)pin
{
if ([pin isEqualToString:self.correctPin]) {
return YES;
} else {
self.remainingPinEntries--;
return NO;
}
}
- (BOOL)userCanRetryInPinViewController:(THPinViewController *)pinViewController
{
return (self.remainingPinEntries > 0);
}
// optional delegate methods
- (void)incorrectPinEnteredInPinViewController:(THPinViewController *)pinViewController {}
- (void)pinViewControllerWillDismissAfterPinEntryWasSuccessful:(THPinViewController *)pinViewController {}
- (void)pinViewControllerDidDismissAfterPinEntryWasSuccessful:(THPinViewController *)pinViewController {}
- (void)pinViewControllerWillDismissAfterPinEntryWasUnsuccessful:(THPinViewController *)pinViewController {}
- (void)pinViewControllerDidDismissAfterPinEntryWasUnsuccessful:(THPinViewController *)pinViewController {}
- (void)pinViewControllerWillDismissAfterPinEntryWasCancelled:(THPinViewController *)pinViewController {}
- (void)pinViewControllerDidDismissAfterPinEntryWasCancelled:(THPinViewController *)pinViewController {}
iOStreamを試してみた
方法
iOStreamは、iPhone,iPadの画面をブラウザにストリーミング配信できちゃうようにするライブラリです。 こちらからSDKをダウンロードできます。
SDKをプロジェクトに含め、下記のコードを追加するだけです。
(詳細はREADME.mdを参照してください。)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
iOStreamClient *client = [iOStreamClient sharedInstance];
client.frameInterval = 6; //10 FPS
client.showsTouchPointer = YES; //show the touch pointer
[client startStream];
return YES;
}
デフォルトでは下記のサーバが使われますが、独自サーバでのホストもできるそうです。 サーバ側のソースも公開されていました。Node.jsで書かれていました。
http://fuckitstreamit.com
DEMO
iPhoneに表示されたIDをブラウザに入力することで接続されます。
所感
ちょっとフレームレートが低いのか、画面がパッと変わってしまうてんが惜しいと感じた。 iOStreamはハッカソンで38時間で開発されたそうです。。。すごい!