HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    友盟分享(友盟分享微信)

    發(fā)布時間:2023-03-20 03:34:36     稿源: 創(chuàng)意嶺    閱讀: 1196        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于友盟分享的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com,如需咨詢相關(guān)業(yè)務(wù)請撥打175-8598-2043,或微信:1454722008

    本文目錄:

    友盟分享(友盟分享微信)

    一、如何使用友盟 Cocos2d-x 分享組件實現(xiàn) Android/iOS 分享功能

    首先我簡單介紹一下組件壓縮包的組成

    Cocos2dx

    實現(xiàn)Cocos2d-x中跨平臺分享功能,需拷貝到您項目的Classes文件夾中;

    Platforms

    原生的Android和iOS社會化組件SDK,需要您將庫和資源拷貝到對應(yīng)平臺的項目中;

    doc

    組件的集成文檔;

    Umeng_Cocos2dx_Demo_V1.0

    Android部分的demo文件,可以安裝在手機上看一下簡單的分享效果和樣式

    Cocos2d-x雖然是一個跨平臺的引擎,但是對于Android和IOS平臺來說,具體的集成方式還是有一定的區(qū)別,這里分別介紹Android和IOS平臺集成中不同的地方,然后再集中介紹跨平臺通用的部分。

    Android平臺集成步驟:

    步驟一:

    下載Cocos2d-x組件(下載地址) 并且將jar包添加到build path 路徑下,將res資源文件夾加入到你工程對應(yīng)資源文件下。將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類型, 參數(shù)2為描述符,可隨意修改.

    CCUMSocialController.initSocialSDK(this, "com.umeng.social.share");

    步驟三:

    在代碼中覆寫Cocos2dxActivity子類的onActivityResult方法,用來實現(xiàn)回調(diào)方法。在onActivityResult添加如下代碼 :

    // 授權(quán)回調(diào)

    CCUMSocialController.onActivityResult(requestCode, resultCode, data);

    super.onActivityResult(requestCode, resultCode, data);

    iOS平臺集成步驟:

    步驟一:

    解壓SDK壓縮包,將Platforms/iOS文件夾和Cocos2dx文件夾拖入工程目錄,并刪除Cocos2dx/Android文件夾,添加后應(yīng)該是這個效果:

    步驟二:

    添加系統(tǒng)需要的framework

    Security.framework //用于系統(tǒng)加密處理

    libiconv.dylib //QQ互聯(lián)的庫文件

    SystemConfiguration.framework //QQ互聯(lián)需要的framework

    CoreGraphics.framework //QQ互聯(lián)需要的framework

    Social.framework //分享組件需要的framework,如果不使用twitter則不需要

    libsqlite3.dylib //QQ互聯(lián)需要的framework

    libstdc++.dylib //C++的庫文件

    CoreTelephony.framework //QQ互聯(lián)需要的framework

    libz.dylib //QQ互聯(lián)需要的framework

    Accounts.framework //系統(tǒng)需要的framework,如果不使用twitter則不需要

    步驟三:

    實現(xiàn)系統(tǒng)的回調(diào)方法,在Xcode工程中的ios文件夾下的AppController.mm文件中加入下面的代碼:

    #import "UMSocial.h"

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    {

    return [UMSocialSnsService handleOpenURL:url];

    }

    完成了上述準(zhǔn)備工作之后,就可以開始正式的分享步驟了,友盟提供了多種分享樣式,有精力的開發(fā)者可以使用底層接口,可以完全自由定制分享界面和樣式,不過相信大部分開發(fā)者們使用第三方插件的初衷都是為了節(jié)省精力,所以這里就只介紹使用默認(rèn)分享界面的方法,有更多需求的開發(fā)者們可以自己探索自定義界面接口部分。

    步驟一:加入系統(tǒng)需要的頭文件

    // 授權(quán)回調(diào)

    #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;

    }

    }

    步驟二:分享按鈕的創(chuàng)建

    // 創(chuàng)建分享按鈕, 參數(shù)1為按鈕正常情況下的圖片, 參數(shù)2為按鈕選中時的圖片,參數(shù)3為友盟appkey, 參數(shù)4為分享回調(diào)

    UMShareButton *shareButton = UMShareButton::create("shareNormal.png","shareSelected.png", "你的友盟appkey", share_selector(shareCallback)) ;

    步驟三:設(shè)置分享平臺及內(nèi)容

    // 顯示在友盟分享面板上的平臺

    vector

    * platforms = new vector

    ();

    platforms->push_back(SINA);

    platforms->push_back(RENREN) ;

    platforms->push_back(DOUBAN) ;

    platforms->push_back(QZONE) ;

    platforms->push_back(QQ) ;

    // 設(shè)置友盟分享面板上顯示的平臺

    shareButton->setPlatforms(platforms);

    // 設(shè)置文本分享內(nèi)容

    shareButton->setShareContent("umeng social Cocos2d-x sdk.") ;

    // 設(shè)置要分享的圖片, 圖片支持本地圖片和url圖片, 但是url圖片必須以http://或者h(yuǎn)ttps://開頭

    shareButton->setShareImage("/sdcard/header.jpeg") ;

    // 設(shè)置按鈕的位置

    shareButton->setPosition(ccp(150, 180));

    // 然后開發(fā)者需要將該按鈕添加到游戲場景中

    CCMenu* pMenu = CCMenu::create(shareButton, NULL);

    pMenu->setPosition(CCPointZero);

    this->addChild(pMenu, 1);

    // ********************** 設(shè)置平臺信息 ***************************

    // CCUMSocialSDK *sdk = shareButton->getSocialSDK();

    // sdk->setQQAppIdAndAppKey("設(shè)置QQ的app id", "appkey");

    // sdk->setWeiXinAppId("設(shè)置微信和朋友圈的app id");

    // sdk->setYiXinAppKey("設(shè)置易信和易信朋友圈的app id");

    // sdk->setLaiwangAppInfo("設(shè)置來往和來往動態(tài)的app id",

    // "設(shè)置來往和來往動態(tài)的app key", "我的應(yīng)用名");

    // sdk->setFacebookAppId("你的facebook appid");

    // 設(shè)置用戶點擊一條圖文分享時用戶跳轉(zhuǎn)到的目標(biāo)頁面, 一般為app主頁或者下載頁面

    // sdk->setTargetUrl(" ");

    // 打開或者關(guān)閉log

    // sdk->setLogEnable(true) ;

    // ********************** END ***************************

    集成到這一步就完成了,如果沒有異常,應(yīng)該會出現(xiàn)下面的界面,這說明你已經(jīng)成功實現(xiàn)了集成工作。

    二、友盟分享怎樣才能分享一個可以跳到自己app的鏈接

    設(shè)置點擊分享內(nèi)容跳轉(zhuǎn)鏈接

    當(dāng)分享消息類型為圖文時,點擊分享內(nèi)容會跳轉(zhuǎn)到預(yù)設(shè)的鏈接,設(shè)置方法如下

    [UMSocialData defaultData].extConfig.wechatSessionData.url = @"http://baidu.com";

    如果是朋友圈,則替換平臺參數(shù)名即可

    [UMSocialData defaultData].extConfig.wechatTimelineData.url = @"http://baidu.com";

    注意設(shè)置的鏈接必須為http鏈接

    三、ios 友盟分享 新浪微博怎么是webview

    1.集成友盟分享,需要先注冊一個友盟賬號,注冊地址

    友盟開發(fā)者平臺官網(wǎng) 友盟集成文檔

    友盟sdk下載地址友盟sdk下載地址

    2,成功下載sdk集成后,微信分享需要配置一下

    新浪微博 之類到同樣配置就行

    3.整合完之后就開始上代碼了

    ShareManage.h

    [objc] view plain copy

    //

    // ShareManage.h

    // KONKA_MARKET

    //

    // Created by wxxu on 14/12/18.

    // Copyright (c) 2014年 archon. All rights reserved.

    // 分享管理

    // 友盟APIKey

    #define UMeng_APIKey @""//友盟appKey

    #define WX_APP_KEY @""//微信appId

    #define WX_APP_SECRET @""//微信appSecret

    #define share_title @""//分享標(biāo)題

    #define share_content @""//分享內(nèi)容

    #define share_url @""//分享url

    #import <Foundation/Foundation.h>

    #import <MessageUI/MessageUI.h>

    @interface ShareManage : NSObject <MFMessageComposeViewControllerDelegate>

    + (ShareManage *)shareManage;- (void)shareConfig;/**微信分享**/

    - (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**微信朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**短信分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end

    ShareManage.m

    [objc] view plain copy

    //

    // ShareManage.m

    // KONKA_MARKET

    //

    // Created by wxxu on 14/12/18.

    // Copyright (c) 2014年 archon. All rights reserved.

    // 分享管理

    #import "ShareManage.h"

    #import "UMSocial.h"

    #import "UMSocialWechatHandler.h"

    #import "WXApi.h"

    @implementation ShareManage {

    UIViewController *_viewC;

    }

    static ShareManage *shareManage;

    + (ShareManage *)shareManage

    {

    @synchronized(self)

    {

    if (shareManage == nil) {

    shareManage = [[self alloc] init];

    }

    return shareManage;

    }

    }

    #pragma mark 注冊友盟分享微信

    - (void)shareConfig

    {

    //設(shè)置友盟社會化組件appkey

    [UMSocialData setAppKey:UMeng_APIKey];

    [UMSocialData openLog:YES];

    //注冊微信

    [WXApi registerApp:WX_APP_KEY];

    //設(shè)置圖文分享

    [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;

    }

    #pragma mark 微信分享

    - (void)wxShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];

    [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];

    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);

    }

    #pragma mark 新浪微博分享

    - (void)wbShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];

    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);

    }

    #pragma mark 微信朋友圈分享

    - (void)wxpyqShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];

    [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];

    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);

    }

    #pragma mark 短信分享

    - (void)smsShareWithViewControll:(UIViewController *)viewC

    {

    _viewC = viewC;

    Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));

    if (messageClass != nil) {

    if ([messageClass canSendText]) {

    [self displaySMSComposerSheet];

    }

    else {

    //@"設(shè)備沒有短信功能"

    }

    }

    else {

    //@"iOS版本過低,iOS4.0以上才支持程序內(nèi)發(fā)送短信"

    }

    }

    #pragma mark 短信的代理方法

    - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{

    [_viewC dismissViewControllerAnimated:YES completion:nil];

    switch (result)

    {

    case MessageComposeResultCancelled:

    break;

    case MessageComposeResultSent:

    //@"感謝您的分享!"

    break;

    case MessageComposeResultFailed:

    break;

    default:

    break;

    }

    }

    - (void)displaySMSComposerSheet

    {

    MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];

    picker.messageComposeDelegate = self;

    picker.navigationBar.tintColor = [UIColor blackColor];

    // picker.recipients = [NSArray arrayWithObject:@"10086"];

    picker.body = share_content;

    [_viewC presentViewController:picker animated:YES completion:nil];

    }

    @end

    四、ios 友盟三方分享 sdk需要注意什么

    // 需要引入框架

    // 1. SystemConfiguration.framework

    // 2. CoreGraphics.framework

    // 3. libsqlite3.dylib

    // 4. CoreTelephony.framework

    // 5. libstdc++.dylib,

    // 6. libz.dylib

    // 下載最新的SDK,http://dev.umeng.com/social/ios/sdk-download

    // 將UMSocial_Sdk-x.x.x的文件夾拖入工程目錄下

    // libUMSocial_Sdk-x.x.x.a  libUMSocial_Sdk_comment_3.0.a   庫文件

    // Header  頭文字

    // SocialSDKXib     xib文件

    // en.Iproj, zh-Hans.Iproj  英文和中文語言文件

    // frameworks   使用的第三方SDK,里面的Wechat,TencentOperAPI,TencentWeiboSSO,分別代表微信、手機QQ和騰訊微博SDK

    // 設(shè)置友盟分享

    [UMSocialData setAppKey:@"52b13dc556240b55870e7148"];

    // 設(shè)置手機QQ的使用

    [UMSocialConfig setQQAppId:@"100424468" url:nil importClasses:@[[QQApiInterface class], [TencentOAuthclass]]];

    // 設(shè)置微信功能

    [UMSocialConfig setWXAppId:@"wx34bd7147c4d8ad5a" url:nil];

    #pragma mark 使用第三方登錄需要重寫下面兩個方法

    - (void)applicationDidBecomeActive:(UIApplication *)application

    {

        // 登錄需要編寫

        [UMSocialSnsService applicationDidBecomeActive];

    }

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation

    {

        return [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];

    }

    #pragma mark 直接分享

    - (IBAction)share:(id)sender

    {

        // 設(shè)置分享內(nèi)容與分享平臺

        // 彈出UIActivityViewController樣式的列表

        [UMSocialSnsService presentSnsIconSheetView:self appKey:Nil shareText:@"要分享的內(nèi)容" shareImage:nilshareToSnsNames:@[UMShareToQzone, UMShareToSina, UMShareToTencent, UMShareToRenren, UMShareToSms,UMShareToEmail, UMShareToFacebook, UMShareToTwitter, UMShareToWechatSession, UMShareToWechatTimeline, UMShareToQQ] delegate:nil];

    }

    基本的分享如上邊代碼所示,但是iOS9 要注意網(wǎng)路http的問題

    以上就是關(guān)于友盟分享相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    友盟統(tǒng)計app下載(友盟統(tǒng)計app下載安裝)

    友盟分享(友盟分享微信)

    泰州景觀設(shè)計招聘

    奢侈品牌排行榜(奢侈品牌排行榜包包)