Push Notification Và Analytic Với Growthbeat
Khi làm việc với các khách hàng Nhật, Các bạn sẽ thường được yêu cầu là tích hợp thêm những SDK nhằm mục tích thống kê (Analytic) hay những SDK có chức năng gửi Push notification. Nói về gủi Push notification các bạn sẽ thường liên tưởng đến Google Cloud Message của Google. Còn chức năng Analytic ...
Khi làm việc với các khách hàng Nhật, Các bạn sẽ thường được yêu cầu là tích hợp thêm những SDK nhằm mục tích thống kê (Analytic) hay những SDK có chức năng gửi Push notification. Nói về gủi Push notification các bạn sẽ thường liên tưởng đến Google Cloud Message của Google. Còn chức năng Analytic thì các bạn sẽ nghĩ đến ngay việc dùng Google Analytic( như trong bài viết trước tôi Tích Hợp Google Analytics V4 Trong Ứng Dụng Android )
Nhưng hôm nay tôi sẽ giới thiệu với các bạn một SDK dùng cho cả 2 chức năng gửi Push Notification và Analytic. Đó là Growthbeat
Bước đầu tiền mà các bạn cần làm là đăng ký một tài khoản tại đây.
Khi bạn đã có 1 tài khoản và login với tài khoản đó bạn sẽ vào màn hình như này. Bạn click vào phần setting như hình bên dưới:
Khi bạn đã vào màn hình setting bạn sẽ thấy tại màn hình sẽ có những thông tin như user name, accoun id, ngày tạo tài khoản, email đang ký... Có một thông tin đặc biết quan trọng mà các bạn càn chú ý đó là Credential ID đó là API KEY VÀ SDK KEY.Bạn sẽ cần phải lưu lại các KEY này trong App của bạn như hình bên dưới:
Tiếp theo chúng ta sẽ tạo một ứng dụng, ở đây bạn tuỳ ý đặt tên ứng dụng bạn muốn với các bước như bên dưới:
- List những App bạn đã tạo
- Tạo mới 1 App
- Mỗi App khi bạn tạo sẽ có một ID, gọi là applicationId, giá trị này các bạn cần phải được lựu lại trong App để sử dụng cho mục đích cấu hình.
Việc tiếp theo các bạn cần phải làm tích hợp SDK growthbeat vào trong Project của bạn. Trước tiên các bạn cần phải download Growtbea SDK về mấy của bạn. Hiện tại ở đây tôi đang dùng version 2.0.2. Sau khi download sdk các bạn giải nén ra. Sau khi giải nén các bạn đi vào trong thư mục vừa giải nén các bạn sẽ thấy có 3 thư mục tên lần luợt là release, growthbeat, sample. ở đây có có 2 cách để bạn tích hợp Growthbeat SDK vào trong App của bạn:
- Tích hợp kiểu add module (Các bạn sử dụng thư mục growthbeat)
- Tích hợp theo kiểu add thư việc đã được đóng gói thành file .jar(các bạn sử dụng thư mụ release) Thư mục sample là thư mực có chứa 1 ví dụ sample, các bạn có thể tham khảo. Tôi khuyên các bạn lên tham khảo.
Sau khi các bạn đã tích hợp được SDK vào trong project của mình. Bước tiếp theo chúng ta cần làm config trong app của chúng.
Trong file AndroidManifest.xml
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/> <permission android:name="jp.mynavi.baito.mynavishortapp.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="jp.mynavi.baito.mynavishortapp.permission.C2D_MESSAGE"/> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.growthpush.notification.icon" android:resource="@drawable/ic_notification" /> <meta-data android:name="com.growthpush.notification.icon.background.color" android:resource="@android:color/white" /> <meta-data android:name="com.growthpush.dialog.icon" android:resource="@drawable/ic_notification" /> <activity android:name="com.growthpush.view.AlertActivity" android:configChanges="orientation|keyboardHidden" android:launchMode="singleInstance" android:theme="@android:style/Theme.Translucent" /> <service android:name="com.growthpush.TokenRefreshService" android:exported="false" > <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID"/> </intent-filter> </service> <service android:name="com.growthpush.RegistrationIntentService"/> <service android:name="com.growthpush.ReceiverService" android:exported="false" > <ntent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE"/> </intent-filter> </service> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE"/> <category android:name="jp.mynavi.baito.mynavishortapp"/> </intent-filter> <intent-filter> <action android:name="com.google.android.c2dm.intent.REGISTRATION"/> <category android:name="jp.mynavi.baito.mynavishortapp"/> </intent-filter> </receiver>
Tiếp theo chúng ta sẽ cấu hình trong code Tại MainActivity.java
GrowthPush.getInstance().initialize(this, "APLICATION_ID", "CREDENTAIL_ID", BuildConfig.DEBUG ? Environment.development : Environment.production); GrowthPush.getInstance().requestRegistrationId("SENDER_ID");
- APPLICATION_ID: ID của APP khi bạn tạo
- CREDENTAIL_ID : là SDK KEY mà tôi đã lưu ý ở trên.
Để có được SENDER_ID các bạn cần phải là register với Google Clouase Messaging.
- Tới trang Google APIs Console tạo một project.
- Sau khi bạn tạo project, bạn sẽ nhìn thấy project id trên url. Đó chính là SENDER_ID bạn đang cần.
- Sau đón bạn click vào Services và turn on Google Cloud Messaging for Android
Để ứng dụng của bạn có thể nhận push notification việc cuối cùng các bạn cần là cấu hình Android Push Certificate như hình bên dưới:
Android Push Certificate ở đây chính là **Android Key ** khi bạn tạo APP và chọn plfatfrom là Android Google APIs Console
Bây giờ là lúc bạn chạy ứng dụng của bạn và tự tạo 1 notification của riên bạn và gửi về app của bạn như bên dưới:
Ở đây bạn ngoài text, bạn cũng có thể tạo ra 1 định dạnh JSON trong đó chứa những thông tin mà app của xử lý khi nhận notification.
Ngoài gửi notification, Gowthbeat SDK còn tích hợp nhiều chức năng khác, trong đó có chức năng thống kê(Analytic) mà tôi đã nhắc tới lúc đầu.
GrowthPush.getInstance().trackEvent("Event_Name"); GrowthPush.getInstance().setTag("Tag_Name, "Tag_Value");
Đặc biết ở đây bạn sẽ nhận được kết quả thống kê real time