當前位置:首頁 » 安卓系統 » androidumeng分享

androidumeng分享

發布時間: 2023-03-20 11:00:16

⑴ 如何使用友盟 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 ***************************

集成到這一步就完成了,如果沒有異常,應該會出現下面的界面,這說明你已經成功實現了集成工作。

⑵ 怎麼看android umeng分享的報錯信息

umeng應該有在ios平台下的SDK吧,在它提供的SDK中應該有類似的分享功能,去查查文檔

⑶ android 友盟分享具體怎麼用 在線等

不想看API ,就直接問客服

⑷ android 友盟分享 打電話許可權干什麼用的

小米的手機彈出設置許可權的對話框,當知芹灶點擊確定之首攔後;下次進入該分享界面的activity時,還是會彈出設置許可權的對話框;後來用其它手機測試後發現在360,三搭扮星上也會出現類似的問題;當然這樣的提示很繁瑣,我想要的是當用戶點擊確定後下次不會再彈出該對話框,

⑸ android 微信登錄和原生友盟分享的坑

1.會經常提示code been used。需要

需要延遲初顫差始化 在分享的地方再設置。但是分享過後再登錄還是會有問題
2.禁止app存儲許可權 glide載入圖片不顯示
因為升緩使用了吵洞模磁碟緩存 需要判斷是否有許可權 如果沒有 不使用磁碟緩存

Glide.with(mContext).load().apply(getOptions(mContext)).

⑹ 安卓友盟微信分享,分享成功以後返回白屏,像多了層視圖

我的解決方法

在AndroidManifest文件中去掉WXEntryActivity

⑺ Android友盟推送集成

友盟官方文檔: https://developer.umeng.com/docs/67966/detail/153908

第一次認真集成推送,碰到了一些問題,記錄一下。

首先講一下實現原理,我們用的是友盟。Android比iOS要麻煩很多。

友盟集成是需要後端配合的,具體就是後端調用友盟的介面,向友盟推送一條消息,然後友盟再向在他們平台注冊過的app發送一條消息,我們要做的就是把接收到的消息展示出來。

需求:用戶要能在各個時候都能收到我們APP的推送,並且能對應打開不同的界面

解決方法:集成友盟,但是Android只簡單集成友盟是不行的,在APP被殺死以後,就接收不到通知了,所以需要額外集成廠商通道。另一個和iOS不一樣的就是,iOS在打開當前APP的時候,可以收到橫幅推送,但是Android需要自己做。

什麼是廠商通道:

由於國內手機廠商過多地使用應用保活方案實現消息推送功能,因此導致手機耗電加快、卡頓。國內部分手機廠商發現了這一問題,自己推出了消息推送服務。這些手機廠商通過進程管理,殺死後台進程,並提供消息推送能力,讓消息通過手機廠商官方推送通道下發到應用程序中。這類典型的手機廠商有小米、華為等。

大致分為兩部分:

正常推送集成。

五大廠商通道集成。

詳見友盟官方文檔: https://developer.umeng.com/docs/67966/detail/153908

點擊推送信息以後的處理,收到推送的時候的回調

UmengNotificationClickHandler notificationClickHandler =new UmengNotificationClickHandler() {

@Override

    public void dealWithCustomAction(Context context, UMessage msg) {

     //點擊推送通知以後的處理

        Log.i(TAG,"notificationClickHandler "+msg);

    }

};

UmengMessageHandler messageHandler =new UmengMessageHandler() {

@Override

    public void dealWithCustomMessage(final Context context, final UMessage msg) {

Log.i(TAG,"message "+msg);

    }

@Override

    public NotificationgetNotification(Context context, UMessage uMessage) {

     //手機收到推送的時候的回調

        Log.i(TAG,"message ");

        //返回默認構造

        return super.getNotification(context, uMessage);

    }

};

mPushAgent.setNotificationClickHandler(notificationClickHandler);

mPushAgent.setMessageHandler(messageHandler);

設置最多能看到的推送條數

mPushAgent.setDisplayNotificationNumber(3);

 如果需求中需要打開APP中某個界面,責需要觀察 "after_open"欄位,默認是  "go_app",需要服務端同學配合

{

    "msg_id": "uu481201399440513912",

    "display_type": "notification",

    "alias": "",

    "random_min": 0,

    "body": {

        "title": "測試自定義參數",

        "ticker": "測試自定義參數",

        "text": "無",

        "after_open": "go_app",

        "url": "",

        "activity": "",

        "custom": "",

        "play_vibrate": "true",

        "play_sound": "true",

        "play_lights": "true"

    },

    "extra": {

        "key1": "value1",

        "key2": "value2"

    }

}

成功以後可以看log

主要看after_open,默認是打開app

友盟官方常見問題: https://developer.umeng.com/docs/67966/cate/66637

1.集成以後收不到推送

(1) mPushAgent.register()要放在application中調用,放在別的地方不起作用

(2) 檢查so文件有沒有放錯地方

(3) 打開日誌提示,仔細看提示:UMConfigure.setLogEnabled(true)

2.java.lang.ClassNotFoundException: com.ut.mini.UTAnalytics

盡量更新到最新版本的引用,友盟開發說這個只是提示,不用太在意....

3.殺死進程以後收不到推送

解決方法:集成各個廠商通道

iOS的小夥伴集成以後,就算殺死APP也可以收到推送,為啥Android不可以,傷感,看了文檔才知道,我們要集成廠商通道,

4.集成以後收不到推送,顯示送達卻沒有彈出通知

manifest裡面的package最好與build.gradle中的applicationId不一 致, 因為我們項目有兩個applicationId,所以會出現這種情況

需調用setResourcePackageName設置資源文件包名

⑻ android為什麼用友盟分享跳轉不到微信中

使用Android SDK不能跳轉到微信是什麼情況,解答如下
跳轉到微信的餓話,需要知道他提供的shema,一般其他 的應用程序都會提供一個應用介面以便打開應用里的某個界面,但需要授權使用的。

熱點內容
xrv哪些配置帶天窗 發布:2025-05-11 05:53:10 瀏覽:505
簡述ftp伺服器的功能 發布:2025-05-11 05:44:27 瀏覽:847
安卓手機攝像頭連接雲存儲 發布:2025-05-11 05:10:52 瀏覽:34
瑞虎三都有哪些配置 發布:2025-05-11 05:05:08 瀏覽:950
mc非正版伺服器怎麼做 發布:2025-05-11 05:04:54 瀏覽:308
安卓手機九宮格忘記密碼怎麼解 發布:2025-05-11 05:00:30 瀏覽:595
安卓手機拼多多怎麼解綁銀行卡 發布:2025-05-11 05:00:25 瀏覽:686
校園網可以搭建伺服器地址 發布:2025-05-11 04:54:40 瀏覽:785
noip演算法 發布:2025-05-11 04:53:51 瀏覽:50
有什麼我的世界伺服器啟動器 發布:2025-05-11 04:50:41 瀏覽:296