帮助与文档

> >

1、获取AppKey

 申请Appkey的流程,请点击这里

2、下载SDK

下载解压后,如下图:

目录结构

(1)Sample:演示Demo 

(2)SDK:集成项目时,只需导入此文件夹即可。具体说明在里面的2个文件夹

Required:必要的依赖库(必要)   MobPush:MobPush和MobPushServiceExtension的静态库

3导入SDK

1)手动下载SDK导入

解压下载的ZIP包,将解压后的SDK添加到项目中。
注意:该步骤中添加时,请选择“Create groups for any added folders”单选按钮组。如果你选择“Create folder references for any added folders”,一个蓝色的文件夹引用将被添加到项目并且将无法找到它的资源。

2pod导入

1、首先cd 至项目的根目录,执行 pod setup

2、按需在Podfile 文件中添加命令:

pod 'mob_pushsdk'

3、如果之前没有安装过,第一次使用请先执行

安装库:pod install

如果之前已经安装过,那只需要再执行

更新库:pod update

4、添加项目依赖库

手动导入必须添加的依赖库如下:

libc++.tbd

5MobPush的初始化配置和功能接口

5.1 配置AppKeyAppSecret

在项目的Info.plist中添加2个字段:MOBAppKeyMOBAppSecret,对应的值是在mob.com官方申请的应用的AppKeyAppSecret

 

证书里需要开通apns功能,然后在项目里设置,如下:

5.2 推送配置(以下代码具有通用性,可直接粘贴使用)

MobPushSwift-Bridging-Header 桥接文件导入

#import <MobPush/MobPush.h>
#import <MobPush/UIViewController+MobPush.h>

funcapplication(_application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool中进行推送配置即可。

调用方法:

	// 设置推送环境
        #if DEBUG
            MobPush.setAPNsForProduction(false)
        #else
            MobPush.setAPNsForProduction(true)
        #endif
        
        //MobPush推送设置(获得角标、声音、弹框提醒权限)
        let configuration = MPushNotificationConfiguration()
        configuration.types = [.badge, .sound, .alert]
        MobPush.setupNotification(configuration)

5.3 功能接口调用

所有的功能接口都在MobPush.h中。

目前的MobPush的推送机制是:当应用在前台时,维持与推送服务器的长连接,实时接收推送消息;当应用在后台时,通过苹果APNs推送通知。

当应用处于前台,通过监听@“MobPushDidReceiveMessageNotification”服务,即可收到所有通知或者自定义消息的回调(应用处于后台不可接收该回调)。另外:点击通知栏消息也可以收到该回调。

NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.didReceiveMessage), name: NSNotification.Name.MobPushDidReceiveMessage, object: nil)

收到的消息数据可能是:1UDP自定义消息,2APNs3、本地通知,4、点击推送消息。根据不同的类型做相应显示即可,具体例子如下:

// 收到通知回调
@objc func didReceiveMessage(noti: NSNotification) {
        guard let message = noti.object as 호크 마 종합 주석 다운로드? MPushMessage else {
            return
        }
        switch message.messageType {
        case .custom:
            showAlert(content: message.content)
        case .apns:
            print("收到远程通知", message.msgInfo)
        case .local:
            let body = message.notification.body
            let title = message.notification.title
            let subtitle = message.notification.subTitle
            let badge = message.notification.badge
            let sound = message.notification.sound
            print("收到本地通知body: \(String(describing: body)), title: \(String(describing: title)), subtitle: \(String(describing: subtitle)), badge: \(badge), sound: \(String(describing: sound))")
        case .clicked:
            if UIApplication.shared.applicationState == .active {
                showAlert(message: message)
            } else {
                pushVC(message: message)
            }
        default:
            break
        }

推送打开指定链接页面

如果开发者想要对通知消息进行点击跳转到H5页面的操作,可以在开发者管理后台配置url额外字段。

当用户点击带有url链接的通知时,需要在回调中获取message 다운로드.msgInfo[@“url”],进行业务相关的跳转,可参考demo

推送打开指定应用内指定页面

1 무료 유튜브 mp3 다운로드.如果开发者想要对通知消息进行点击跳转到app内指定页面的操作,可以在开发者管理后台打开配置开关和参数设置。

Scheme地址:为开发者自定义的控制器路径。

传递参数:为跳转控制器的初始化参数。

2 고려대장경.开发者需要在自己的应用内对所跳转的控制器进行相关代码设置。如下:(可参照demoPushDetailViewController.m

  • #pragma mark ---实现分类的2个方法---

点击推送-场景还原路径,必须跟上面的Scheme地址保持一致

override class func mobPushPath() -> String {
        return "/path/PushDetailViewController"
    }

点击推送-场景还原页面参数,params为开发者上面配置的参数

convenience init(mobPushScene params: [AnyHashable: Any]?) {
        self.init()

        guard let dict = params,
            let type = dict["type"] else {
                return
        }
        self.type = DetailType(rawValue: type as 90년대 발라드 다운로드! Int)!
    }

具体应用可以参考demo

 

相关文档