คู่มือนี้แสดงวิธีเพิ่ม Analytics ลงในแอป Android เพื่อวัดกิจกรรมของผู้ใช้ในหน้าจอที่มีชื่อ หากคุณยังไม่มีแอปพลิเคชันและต้องการดูวิธีการทำงานของ Analytics โปรดดูแอปพลิเคชันตัวอย่างของเรา
จำเป็น: เวอร์ชันล่าสุดของรายการต่อไปนี้
ตั้งค่าโปรเจ็กต์
อัปเดตไฟล์ AndroidManifest.xml
ของโปรเจ็กต์ให้รวมสิทธิ์ INTERNET
และ ACCESS_NETWORK_STATE
ดังนี้
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.analytics">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application android:name="AnalyticsApplication">
...
</application>
</manifest>
เพิ่มทรัพยากร Dependency ต่อไปนี้ไปยัง build.gradle
ระดับโปรเจ็กต์
dependencies {
// ...
classpath 'com.google.gms:google-services:3.0.0'
}
เพิ่มทรัพยากร Dependency ต่อไปนี้ของบริการ Google Play ไปยัง app/build.gradle
dependencies {
// ...
compile 'com.google.android.gms:play-services-analytics:10.2.4'
}
สร้าง Global_tracker.xml
สร้างไฟล์ app/src/res/xml/global_tracker.xml
ที่มีเนื้อหาต่อไปนี้
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>
แทนที่ ${YOUR_TRACKING_ID}
ด้วยรหัสติดตาม
เพิ่มการติดตามหน้าจอ
ในส่วนนี้ คุณจะส่งมุมมองหน้าจอที่มีชื่อไปยัง Analytics ทุกครั้งที่ผู้ใช้เปิดหรือเปลี่ยนหน้าจอในแอป โค้ดควรมีลักษณะดังต่อไปนี้
- จัดเตรียมอุปกรณ์ติดตามที่แชร์ผ่านคลาสย่อยของแอปพลิเคชัน
- ลบล้างเมธอดโค้ดเรียกกลับสำหรับกิจกรรมที่ทำงานอยู่เบื้องหน้า
- ระบุชื่อหน้าจอและดำเนินการติดตาม
แอปพลิเคชัน
คุณควรคลาสย่อย Application
และระบุเมธอดตัวช่วยที่จะแสดงผลเครื่องมือติดตามของแอปพลิเคชัน</>
/*
* Copyright Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.samples.quickstart.analytics;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* This is a subclass of {@link Application} used to provide shared objects for this app, such as
* the {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private static GoogleAnalytics sAnalytics;
private static Tracker sTracker;
@Override
public void onCreate() {
super.onCreate();
sAnalytics = GoogleAnalytics.getInstance(this);
}
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
if (sTracker == null) {
sTracker = sAnalytics.newTracker(R.xml.global_tracker);
}
return sTracker;
}
}
กิจกรรมหรือส่วนย่อย
เปิดกิจกรรมที่คุณต้องการติดตาม คุณยังสามารถติดตาม Fragment
ได้ด้วย
แต่โปรดตรวจสอบว่าแสดงถึงการดูหน้าจออย่างถูกต้อง
ลบล้างเมธอด onCreate
ของ Activity
หรือ Fragment
ที่ต้องการติดตามเพื่อรับอินสแตนซ์ Tracker
ที่แชร์ ดังนี้
// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
ลบล้างวิธีการที่เหมาะสม เช่น onResume
สำหรับ Activity
หรือ onPageSelected
สำหรับ ViewPager
เพื่อบันทึกเมื่อหน้าจอมีการเปลี่ยนแปลง
Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
เพิ่มโค้ดติดตามลงในทุก Activity
หรือ Fragment
ที่แสดงหน้าจอ อย่าลืมตั้งชื่อทุก Activity
หรือ Fragment
หากต้องการแยกความแตกต่างระหว่างการดูหน้าจอของแอปใน Analytics กิจกรรมทั้งหมดที่บันทึกไว้ในเครื่องมือติดตามที่แชร์จะส่งชื่อหน้าจอล่าสุดจนกว่าจะมีการแทนที่หรือล้างข้อมูล (ตั้งค่าเป็น null
)
ส่งกิจกรรม
หากต้องการส่งเหตุการณ์ ให้ตั้งค่าช่องหน้าจอในอุปกรณ์ติดตาม แล้วส่ง Hit
ตัวอย่างต่อไปนี้ใช้ HitBuilders.EventBuilder
ในการส่ง Event
mTracker.send(new HitBuilders.EventBuilder()
.setCategory("Action")
.setAction("Share")
.build());
ขั้นตอนถัดไป
อ่านคู่มือการใช้งานแอปบนอุปกรณ์เคลื่อนที่เพื่อเรียนรู้วิธีใช้ Google Analytics ในการวัดการโต้ตอบของผู้ใช้และตอบคำถามเกี่ยวกับการใช้งานแอป
ตรวจสอบตัวเลือกการกำหนดค่าเพิ่มเติม เช่น การสุ่มตัวอย่าง การทดสอบและการแก้ไขข้อบกพร่อง การตั้งค่าการเลือกไม่ใช้ ฯลฯ
หากแอปจำเป็นต้องรวบรวมตัวระบุการโฆษณา ให้เปิดใช้ฟีเจอร์โฆษณาสำหรับแอป