ExpoではFirebase Analyticsが使えない。Firebase利用者としては少しつらいが、標準でAmplitudeに対応しているというので利用してみました。
ネットの記事は非常に参考になりますが、2019年12月現在、少々仕様が変わってたりするのでメモ。
事前に知っていれば楽なこと
事前に知っていたほうが楽だったことを記す。
Expo関連
Amplitudeに限らず、expoさんは機能別にモジュールを分ける傾向にある。以前は追加インストールなく'expo'で使えたみたいだが、今は追加インストールが必要みたい。
- importの先は'expo-analytics-amplitude'に変更されている
- さらっとExpoの関連ドキュメントをみるといいかと思います
Amplitude関連
画面にLoginメニューはあるがSignUpが無い。。。一旦Demo利用者として登録してからUpgradeするみたい。
- 普通のサービスみたいにいきなりサインアップできない
- Demoユーザーとして登録してから(Freeユーザー含め)Upgradeするみたい
- API Keyがあれば利用できる
- API Keyはプロジェクト単位で生成・利用するみたい
利用
利用方法は(一見)簡単。
App.js
import * as Amplitude from 'expo-analytics-amplitude';
export default function App() {
//Amulitude初期化
Amplitude.initialize('228e5b5a79ae9070e24xxxxxxxxxx');
//ユーザー設定
Amplitude.setUserId("hoge");
//プロパティー設定
Amplitude.setUserProperties({
gender:'female',
area:'Tokyo'
})
//ログ送信
Amplitude.logEventWithProperties("Hello");
// Amplitude.logEvent("Hello"); //プロパティなしで送ることも可能
return (
<View style={{flex:1,justifyContent:'center'}}>
<Text>Open up App.js to start working on your app!</Text>
</View>
);
}
実行すると、Envetやユーザーが確認でき、ユーザーには設定したプロパティも追加される。
課題
- Amplitudeの各分析機能を利用するために、どうlogEvent()を仕込むのがいいか探求が必要。。
- いちいちinitialize()はできないので、別ファイルに分けたりする必要がある。