㈠ 微信小程序-使用友盟統計方法篇
註:在微信小程序內使用npm請參考 https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html
**注意:切記一定要正確設置umengConfig,不要拼寫錯誤
㈡ 應用資料獲取-友盟密鑰獲取方法
1.前往友盟官網,選到友盟分享模塊,可以直接點擊前往: 點擊前往友盟分享
2.點擊登錄之後,再點擊立即使用,進入後台。
3.友盟的後台列表,首先看下方應用列表中有無應用,如果沒有就創建對應的應用,有應用了就直接進入對應應用查看秘鑰就可以了。
4.創建安卓應用
5.創建iOS應用
6.獲取安卓和iOS的Key
㈢ 友盟-推送-Andorid-「標簽(tag)」是什麼,如何使用自定義標簽
友盟推送支持的篩選維度有「版本」、「渠道」、「地域」、「用戶活躍度」等,還有一個叫做「標簽」,「標簽」是什麼含義呢?該如何使用呢? 今天我們和大家聊聊這個話題。
先解釋下什麼是「標簽」:
提問者問到的「標簽」其實指的是App開發者結合自有的業務邏輯對該App的終端用戶打的「標簽」,我們也稱tag,這些「標簽」是App自己的標簽(舉個簡單的例子,App根據終端用戶是否注冊,可以給用戶打上「注冊賬號」和「未注冊賬號」的標簽),第三方開發平台是無法直接提供這樣的標簽的(但是可以開放打標簽介面,讓App開發者把標簽數據回傳到第三方伺服器上),因為具體的業務邏輯是在App這邊的。 第三方開放平台能提供的維度也僅是在用戶協議范圍內可以收集的欄位,比如「版本」、「渠道」、「機型」、「操作系統」等信息,這些維度可以認為是靜態的維度,其實App開發者自己也可以收集這些欄位,只不過交給第三方平台來做數據收集、存儲和計算更為方便,有興趣的讀者可以了解一下友盟推送收集的用戶協議欄位: 友盟 | 隱私政策。
下面我們給大家提供一些有代表性的垂直領域App結合自有業務邏輯給終端用戶打標簽的思路,希望對大家有幫助:
體育類App可以根據終端用戶看過的節目類型,給終端用戶打上「足球」、「籃球」等類目標簽。
兒童類App可以根據兒童的年齡分布,給終端用戶打上「0~1歲」、「1~3」歲、「3~5」歲之類的年齡結構標簽。
電商類App可以根據用戶的購買習慣推算出用戶性別,給終端用戶打上「男」、「女」標簽。
餐飲類App可以根據用戶的下單記錄以及點評,給終端用戶打上「川菜」、「粵菜」、「韓國料理」等標簽。
……
App自有的標簽體系對精細化運營來說是必需的,App運營人員可以根據這些用戶標簽來做精準推送、廣告定向投放、活動邀請等運營活動。既然標簽這么有用,接下來我們和大家聊聊如何在友盟推送中使用「標簽」維度,順帶也回答了提問者的第二個問題。
再來談談如何在友盟推送中使用「標簽」:
上文提到過雖然第三方開放平台無法直接給App開發者提供「標簽」維度,但是可以開放打標簽的介面,讓開發者把標簽數據回傳到第三方伺服器上。下面給大家講講友盟推送開放介面的形式,以及開發者如何使用開放的介面來把標簽數據回傳到友盟伺服器端:
圖中,黃色部分表示友盟推送提供的模塊兒,綠色部分部分表示App開發者自己的模塊兒。
方式1(推薦方式): App端直接調用友盟推送SDK提供的tag介面,由SDK負責把標簽數據回傳到友盟後端伺服器。 後期tag(標簽)的存儲、計算等邏輯都由友盟後端伺服器來負責。這種方式是推薦的方式,絕大部分開發者都採用這種打tag的方式。SDK端提供的調用介面有如下幾個:
mPushAgent.getTagManager().
添加標簽
public Result add(String... tags)
刪除標簽
public Result delete(String... tags)
清除所有標簽
public void reset()
獲取伺服器端的所有標簽
public List<String> list()
具體用法請參照我們的集成文檔: 友盟消息推送Android文檔
方式2: 開發者在自己的伺服器上通過調用友盟伺服器端提供的開放介面將該標簽數據回傳到友盟後端伺服器,效果和方式1一樣。 有這種需求的開發者不是太多,所以我們的文檔上沒有把這個介面列出來,有需求的開發者可以聯系msg-support at umeng dot com來獲取這個介面的文檔。
通過方式1或者方式2,開發者就把和自己App業務相關的標簽屬性維度放在友盟平台上了,這樣友盟推送間接的提供了「標簽」維度,和其它靜態維度一樣,「標簽」可以和這些維度一塊兒來使用(App自身業務邏輯結合友盟數據屬性),也可以單獨來使用(純App自身業務邏輯),開發者可以利用這些綜合維度來做更精準的推送,從而獲得更好的推送效果了。關於「精準推送」,感興趣的讀者可以參考我之前寫過的一篇文章: 友盟陳漠沙:「精準推送」是怎樣煉成的? - 友盟專欄 - 知乎專欄
開發者在使用標簽的過程中,可能會碰到這樣的問題,就是明明在SDK端已經調用了標簽介面,但是在友盟推送後台網站上並沒有顯示出剛剛打的標簽。這里需要和大家解釋一下為什麼「標簽」不能及時展現在我們的網站上,其實還是要區分一下「正式模式」和「測試模式」兩種case的,在「測試模式」下,測試設備的標簽是及時出現在網站後台的;在「正式模式下」,大概會有5~10分鍾的延遲。這是因為數據量規模決定的,測試設備數量少,所以我們能做到實時處理,線上真實設備數據量龐大,計算節點在計算的時候,會有一定的延遲。 所以開發者在集成測試階段,如果要測試tag功能的話,建議先把測試的設備在「測試模式」下添加為測試設備。關於「測試模式」的更多介紹,請參考友盟推送「測試模式」介紹。
最後,歡迎大家關注友盟消息推送的官方微博賬號"友盟推送",我們的官微會定期和大家share一些技術干貨。
㈣ 如何使用友盟統計
送給有需要的朋友,這里我封裝了友盟統計的功能,只需要導入這個類,就可以很方便的使用:
[objc] view plainprint?
01.//
02.// HYBUMAnalyticsHelper.h
03.// UMAnalyticsDemo
04.//
05.// Created by 黃儀標 on 14/11/19.
06.// Copyright (c) 2014年 黃儀標. All rights reserved.
07.//
08.
09.#import <Foundation/Foundation.h>
10.
11./*!
12. * @brief 友盟統計功能相關操作API封裝
13. *
14. * @author huangyibiao
15. */
16.@interface HYBUMAnalyticsHelper : NSObject
17.
18./*!
19. * 啟動友盟統計功能
20. */
21.+ (void)UMAnalyticStart;
22.
23./// 在viewWillAppear調用,才能夠獲取正確的頁面訪問路徑、訪問深度(PV)的數據
24.+ (void)beginLogPageView:(__unsafe_unretained Class)pageView;
25.
26./// 在viewDidDisappeary調用,才能夠獲取正確的頁面訪問路徑、訪問深度(PV)的數據
27.+ (void)endLogPageView:(__unsafe_unretained Class)pageView;
28.
29.@end
//
// HYBUMAnalyticsHelper.h
// UMAnalyticsDemo
//
// Created by 黃儀標 on 14/11/19.
// Copyright (c) 2014年 黃儀標. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
* @brief 友盟統計功能相關操作API封裝
*
* @author huangyibiao
*/
@interface HYBUMAnalyticsHelper : NSObject
/*!
* 啟動友盟統計功能
*/
+ (void)UMAnalyticStart;
/// 在viewWillAppear調用,才能夠獲取正確的頁面訪問路徑、訪問深度(PV)的數據
+ (void)beginLogPageView:(__unsafe_unretained Class)pageView;
/// 在viewDidDisappeary調用,才能夠獲取正確的頁面訪問路徑、訪問深度(PV)的數據
+ (void)endLogPageView:(__unsafe_unretained Class)pageView;
@end
[objc] view plainprint?
01.//
02.// HYBUMAnalyticsHelper.m
03.// UMAnalyticsDemo
04.//
05.// Created by 黃儀標 on 14/11/19.
06.// Copyright (c) 2014年 黃儀標. All rights reserved.
07.//
08.
09.#import "HYBUMAnalyticsHelper.h"
10.#import "MobClick.h"
11.
12.#define kUMAnalyticsAppKey @"546c4457fd98c5cb9a00319d"
13.
14.@implementation HYBUMAnalyticsHelper
15.
16.+ (void)UMAnalyticStart {
17. [MobClick startWithAppkey:kUMAnalyticsAppKey reportPolicy:BATCH channelId:@"App Store"];
18.
19. // version標識
20. NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
21. [MobClick setAppVersion:version];
22.
23.#if DEBUG
24. // 打開友盟sdk調試,注意Release發布時需要注釋掉此行,減少io消耗
25. [MobClick setLogEnabled:YES];
26.#endif
27. return;
28.}
29.
30.+ (void)beginLogPageView:(__unsafe_unretained Class)pageView {
31. [MobClick beginLogPageView:NSStringFromClass(pageView)];
32. return;
33.}
34.
35.+ (void)endLogPageView:(__unsafe_unretained Class)pageView {
36. [MobClick endLogPageView:NSStringFromClass(pageView)];
37. return;
38.}
39.
40.@end
㈤ 如何使用友盟 Cocos2d-x 分享組件實現 Android/iOS 分享功能
Android平台集成步驟:
步驟一:
下載Cocos2d-x組件(下載地址) 並且將jar包添加到build path 路徑下,將res資源文件夾加入到你工程對應資源文件下。將Platforms/Android/controller目錄下的com文件夾拷貝到您的Cocos2d-x項目Android平台的src目錄下,並且在jni/Android.mk中的LOCAL_SRC_FILES下添加如下配置 (注意格式,否則會編譯出錯) :
../../Classes/Cocos2dx/Android/CCUMSocialController.cpp \
../../Classes/Cocos2dx/ShareButton/UMShareButton.cpp \
../../Classes/Cocos2dx/Common/CCUMSocialSDK.cpp
步驟二:
在Cocos2dxActivity子類的onCreate方法下添加如下代碼,用來完成初始化步驟
// this為Cocos2dxActivity類型, 參數2為描述符,可隨意修改.
CCUMSocialController.initSocialSDK(this, "com.umeng.social.share");
步驟三:
在代碼中覆寫Cocos2dxActivity子類的onActivityResult方法,用來實現回調方法。在onActivityResult添加如下代碼 :
// 授權回調
CCUMSocialController.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
㈥ 如何使用友盟 Cocos2d-x 分享組件實現 Android/iOS 分享功能
首先我簡單介紹一下組件壓縮包的組成
Cocos2dx
實現Cocos2d-x中跨平台分享功能,需拷貝到您項目的Classes文件夾中;
Platforms
原生的Android和iOS社會化組件SDK,需要您將庫和資源拷貝到對應平台的項目中;
doc
組件的集成文檔;
Umeng_Cocos2dx_Demo_V1.0
Android部分的demo文件,可以安裝在手機上看一下簡單的分享效果和樣式
Cocos2d-x雖然是一個跨平台的引擎,但是對於Android和IOS平台來說,具體的集成方式還是有一定的區別,這里分別介紹Android和IOS平台集成中不同的地方,然後再集中介紹跨平台通用的部分。
Android平台集成步驟:
步驟一:
下載Cocos2d-x組件(下載地址) 並且將jar包添加到build path 路徑下,將res資源文件夾加入到你工程對應資源文件下。將Platforms/Android/controller目錄下的com文件夾拷貝到您的Cocos2d-x項目Android平台的src目錄下,並且在jni/Android.mk中的LOCAL_SRC_FILES下添加如下配置 (注意格式,否則會編譯出錯) :
../../Classes/Cocos2dx/Android/CCUMSocialController.cpp \
../../Classes/Cocos2dx/ShareButton/UMShareButton.cpp \
../../Classes/Cocos2dx/Common/CCUMSocialSDK.cpp
步驟二:
在Cocos2dxActivity子類的onCreate方法下添加如下代碼,用來完成初始化步驟
// this為Cocos2dxActivity類型, 參數2為描述符,可隨意修改.
CCUMSocialController.initSocialSDK(this, "com.umeng.social.share");
步驟三:
在代碼中覆寫Cocos2dxActivity子類的onActivityResult方法,用來實現回調方法。在onActivityResult添加如下代碼 :
// 授權回調
CCUMSocialController.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
iOS平台集成步驟:
步驟一:
解壓SDK壓縮包,將Platforms/iOS文件夾和Cocos2dx文件夾拖入工程目錄,並刪除Cocos2dx/Android文件夾,添加後應該是這個效果:
步驟二:
添加系統需要的framework
Security.framework //用於系統加密處理
libiconv.dylib //QQ互聯的庫文件
SystemConfiguration.framework //QQ互聯需要的framework
CoreGraphics.framework //QQ互聯需要的framework
Social.framework //分享組件需要的framework,如果不使用twitter則不需要
libsqlite3.dylib //QQ互聯需要的framework
libstdc++.dylib //C++的庫文件
CoreTelephony.framework //QQ互聯需要的framework
libz.dylib //QQ互聯需要的framework
Accounts.framework //系統需要的framework,如果不使用twitter則不需要
步驟三:
實現系統的回調方法,在Xcode工程中的ios文件夾下的AppController.mm文件中加入下面的代碼:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [UMSocialSnsService handleOpenURL:url];
}
完成了上述准備工作之後,就可以開始正式的分享步驟了,友盟提供了多種分享樣式,有精力的開發者可以使用底層介面,可以完全自由定製分享界面和樣式,不過相信大部分開發者們使用第三方插件的初衷都是為了節省精力,所以這里就只介紹使用默認分享界面的方法,有更多需求的開發者們可以自己探索自定義界面介面部分。
步驟一:加入系統需要的頭文件
// 授權回調
#include "Cocos2dx/Common/CCUMSocialSDK.h"
#include "Cocos2dx/ShareButton/UMShareButton.h"
// 使用友盟命令空間
USING_NS_UM_SOCIAL;
// ...... 代碼省略
// HelloWorld為cocos2d::CCLayer的子類
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
}
步驟二:分享按鈕的創建
// 創建分享按鈕, 參數1為按鈕正常情況下的圖片, 參數2為按鈕選中時的圖片,參數3為友盟appkey, 參數4為分享回調
UMShareButton *shareButton = UMShareButton::create("shareNormal.png","shareSelected.png", "你的友盟appkey", share_selector(shareCallback)) ;
步驟三:設置分享平台及內容
// 顯示在友盟分享面板上的平台
vector
* platforms = new vector
();
platforms->push_back(SINA);
platforms->push_back(RENREN) ;
platforms->push_back(DOUBAN) ;
platforms->push_back(QZONE) ;
platforms->push_back(QQ) ;
// 設置友盟分享面板上顯示的平台
shareButton->setPlatforms(platforms);
// 設置文本分享內容
shareButton->setShareContent("umeng social Cocos2d-x sdk.") ;
// 設置要分享的圖片, 圖片支持本地圖片和url圖片, 但是url圖片必須以http://或者https://開頭
shareButton->setShareImage("/sdcard/header.jpeg") ;
// 設置按鈕的位置
shareButton->setPosition(ccp(150, 180));
// 然後開發者需要將該按鈕添加到游戲場景中
CCMenu* pMenu = CCMenu::create(shareButton, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu, 1);
// ********************** 設置平台信息 ***************************
// CCUMSocialSDK *sdk = shareButton->getSocialSDK();
// sdk->setQQAppIdAndAppKey("設置QQ的app id", "appkey");
// sdk->setWeiXinAppId("設置微信和朋友圈的app id");
// sdk->setYiXinAppKey("設置易信和易信朋友圈的app id");
// sdk->setLaiwangAppInfo("設置來往和來往動態的app id",
// "設置來往和來往動態的app key", "我的應用名");
// sdk->setFacebookAppId("你的facebook appid");
// 設置用戶點擊一條圖文分享時用戶跳轉到的目標頁面, 一般為app主頁或者下載頁面
// sdk->setTargetUrl(" ");
// 打開或者關閉log
// sdk->setLogEnable(true) ;
// ********************** END ***************************
集成到這一步就完成了,如果沒有異常,應該會出現下面的界面,這說明你已經成功實現了集成工作。