phoneGap在iOS上的简单使用:自定义实现友盟分享插件

说明:本插件仅针对个人当前项目,参照支付宝支付插件类进行开发,不保证对任何项目都具有通用性,代码仅供参考.

找到项目中的config.xml文件,在相似位置插入如下代码:

 <feature name="UM_SharePlugin">
        <param name="ios-package" value="UM_SharePlugin"/>
    </feature>

具体插件类代码如下:

//
//  UM_SharePlugin.h
//  WDZJ
//
//  Created by Scarecrow on 15/4/23.
//
//
#import <Foundation/Foundation.h>
#import <Cordova/CDVPlugin.h>
@interface UM_SharePlugin : CDVPlugin
- (void) print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
@end
//
//  UM_SharePlugin.m
//  WDZJ
//
//  Created by Scarecrow on 15/4/23.
//
//

#import "UM_SharePlugin.h"
@implementation UM_SharePlugin
- (void) print:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
{

    NSLog(@"UM_SharePlugin is called!!!");

    [[NSNotificationCenter defaultCenter] postNotificationName:@"UM_SharePluginCalled" object:options];
}

@end

由于cordova项目是基于一个webview的,自动生成的控制器为MainViewController.因为在插件类中无法使用actionSheet弹出分享底框,所有需要在MainViewController.m中接收UM_SharePluginCalled通知,具体代码如下:

在viewDidLoad方法中增加一行代码:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(umcalled:) name:@"UM_SharePluginCalled" object:nil];

并增加下面两个方法(测试数据来源与友盟官方demo):

- (void)umcalled:(NSNotification *)note
{
    NSString *shareText = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 http://www.umeng.com/social";             //分享内嵌文字
    UIImage *shareImage = [UIImage imageNamed:@"UMS_social_demo"];          //分享内嵌图片

    //调用快速分享接口
    [UMSocialSnsService presentSnsIconSheetView:self
                                         appKey:@"5211818556240bc9ee01db2f"
                                      shareText:shareText
                                     shareImage:shareImage
                                shareToSnsNames:@[UMShareToSina,UMShareToQzone,UMShareToWechatSession,UMShareToWechatTimeline,UMShareToQQ]
                                       delegate:self];
}

- (void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
    NSLog(@"didFinishGetUMSocialDataInViewController with response is %@",response);
    //根据`responseCode`得到发送结果,如果分享成功
    if(response.responseCode == UMSResponseCodeSuccess)
    {
        //得到分享到的微博平台名
        NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
    }
}

之后可以在js文件要使用分享的地方调用:

cordova.exec(function(){},function(){},"UM_SharePlugin","print",obj);

即可实现cordova调用友盟分享功能.

-----------------------

转载请保留出处:http://blog.csdn.net/qq329735967

时间: 2024-10-25 20:13:30

phoneGap在iOS上的简单使用:自定义实现友盟分享插件的相关文章

phoneGap在iOS上的简单使用:弹出对话框和调用相机

弹出对话框 在phoneGap中使用navigator.notification.confirm()可以在iOS上弹出原生对话框,并且得到对应按钮的点击索引,方法原型如下: navigator.notification.confirm( msg, //要显示的信息 backFn, //警告被忽略的回调函数 title, //标题 btns||'取消,确定' //按钮名称 ) 当前项目中做了如下封装: showConfirm:function(msg,title,backFn,btns){ nav

android 集成友盟分享之后,想自定义分享面板的看过来

第一种情况 首先上传一张默认的友盟分享的效果图 看起来还不错,但是总是有这样那样的原因,需要我们对默认效果做出一些改变. 第二种情况 如果你想做出下面的效果: 或者这样的效果 : 总之上面的效果总是在默认的基础上(及原有的控件基础上做出改变,改变颜色,背景,背景颜色等等一些基本的改变), 如果你真的遇到了这样的需求很简单:你可以直接登录友盟的开发文档中有十分详细的介绍,很简单的 下面是一些截图: 好,截图结束. 你可以直接进去看. 第三章情况 有了前两种情况,如果还没有满足你的需求,那么咱们今天

IOS百度地图使用基础指南+原生分享&友盟分享

1.地图 1.获取用户的经纬度(CLLocationManager) 创建属性:CLLocationManager *mgr; 遵守协议:<CLLocationManagerDelegate> a>创建定位管理器 self.mgr = [[CLLocationManager alloc] init]; b>设置代理 self.mgr.delegate = self; c>开始定位 [self.mgr startUpdatingLocation]; 代理方法: -(void)l

iOS 友盟分享

博文一 1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就行 3.整合完之后就开始上代码了 ShareManage.h [objc] view plaincopy // //  ShareManage.h //  KONKA_MARKET // //  Created by wxxu on 14/12/18. //  Copyright (c) 2

iOS之友盟分享

http://dev.umeng.com/social/ios/share/quick-integration 注意:苹果审核政策需求,建议对未安装的客户端平台进行隐藏,在设置QQ.微信Appid之后调用方法: [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 这个接口只对默认分享平面平台有隐藏功能,

iOS开发-友盟分享(1)

1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网  友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就行 3.整合完之后就开始上代码了 ShareManage.h // //  ShareManage.h //  KONKA_MARKET // //  Created by wxxu on 14/12/18. //  Copyright (c) 2014年 archon. All rights re

iOS开发-友盟分享(3)

iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后获取到一个Key; 三.  在AppDelegate内设置友盟AppKey -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [UM

iOS友盟分享--集成Facebook官方SDK

一直用的友盟分享,最近客户提了个新需求要求可以分享到Facebook  想到友盟就有FB分享 万分激动啊.. 但是测试后发现 友盟的Facebook 两种都存在一定问题.. 第一种   使用系统自带Facebook需要先在手机上设置Facebook账号 优点:这种分享简单 不需要配置Facebook AppID 缺点:继承了系统Facebook 不能预填写分享内容的特点(一般的app分享内容是要预填写的  怎么着也得王婆卖瓜对不对..所以这个缺点很致命); 第二种:使用应用内网页分享 (这种分享

友盟分享到微信的几点备忘(IOS)

1.下载最新的友盟分享版本,参考友盟官方的demo 2.注册微信开放平台用户,不是公众平台,注册应用 3.参考文档和demo,加入sdk包和相应的lib 4.在plist加入URL types.URL types,可以从demo功能复制过来,同时把相应的参数修改成自己申请的第三方应用的参数,否则不能正常回调 5.在 info-custom ios target properties 加入LSApplicationQueriesSchemes,可以从demo工程复制,否则不能弹出分享窗口 6.在i