初始化 sdk engine,并设置启动参数,建议在 application:didFinishLaunchingWithOptions 方法中添加

App系统生命周期事件方法

示例

  1. - (void)applicationDidBecomeActive:(UIApplication *)application {
  2. [DCUniMPSDKEngine applicationDidBecomeActive:application];
  3. }
  4. - (void)applicationWillResignActive:(UIApplication *)application {
  5. [DCUniMPSDKEngine applicationWillResignActive:application];
  6. }
  7. - (void)applicationDidEnterBackground:(UIApplication *)application {
  8. [DCUniMPSDKEngine applicationDidEnterBackground:application];
  9. }
  10. - (void)applicationWillEnterForeground:(UIApplication *)application {
  11. [DCUniMPSDKEngine applicationWillEnterForeground:application];
  12. }
  13. - (void)applicationWillTerminate:(UIApplication *)application {
  14. [DCUniMPSDKEngine destory];
  15. }

App系统事件回调方法

  1. #pragma mark - 如果需要使用 URL Scheme 通用链接相关功能,请实现以下方法
  2. - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  3. // 通过 url scheme 唤起 App
  4. [DCUniMPSDKEngine application:app openURL:url options:options];
  5. }
  6. - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
  7. // 通过通用链接唤起 App
  8. [DCUniMPSDKEngine application:application continueUserActivity:userActivity];
  9. return YES;
  10. }
  11. #pragma mark - 如需使用远程推送相关功能,请实现以下方法
  12. // 远程通知注册成功,收到 deviceToken 调用sdk方法,传入 deviceToken
  13. [DCUniMPSDKEngine application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
  14. }
  15. - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
  16. // 远程通知注册失败
  17. [DCUniMPSDKEngine application:application didFailToRegisterForRemoteNotificationsWithError:error];
  18. }
  19. - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
  20. // 收到远程推送消息
  21. [DCUniMPSDKEngine application:application didReceiveRemoteNotification:userInfo];
  22. completionHandler(UIBackgroundFetchResultNewData);
  23. }
  24. #pragma mark - 如需使用本地推送通知功能,请实现以下方法
  25. - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
  26. // 收到本地推送消息
  27. [DCUniMPSDKEngine application:application didReceiveLocalNotification:notification];
  28. }

获取uni小程序应用资源部署路径

  1. /// 获取 App 运行路径,注:需要将应用资源放到此路径下
  2. /// @param appid appid
  3. + (NSString *)getAppRunPathWithAppid:(NSString *)appid;

判断应用资源是否已经部署

  1. /// 运行目录中是否已经存在 App
  2. /// @param appid appid
  3. + (BOOL)isExistsApp:(NSString *)appid;

启动小程序应用

  1. /// 启动 App
  2. /// @param appid appid
  3. + (void)openApp:(NSString *)appid
  4. arguments:(NSDictionary * __nullable)arguments;
  5. /// @param appid appid
  6. /// @param arguments 启动参数(可以在小程序中通过 plus.runtime.arguments 获取此参数)
  7. /// @param redirectPath 启动后直接打开的页面路径 例:"pages/component/view/view?a=1&b=2"
  8. + (void)openApp:(NSString *)appid
  9. arguments:(NSDictionary * _Nullable)arguments
  10. redirectPath:(NSString * _Nullable)redirectPath;

关闭当前小程序应用

  1. /// 关闭当前小程序应用
  2. + (void)closeUniMP;

获取当前运行的小程序appid

  1. /// 获取当前运行的小程序appid
  2. + (NSString *)getActiveUniMPAppid;

获取当前小程序页面的直达链接url

  1. /// 获取当前小程序页面的直达链接url
  2. + (NSString *)getCurrentPageUrl;

向小程序发送事件

  1. /// 向小程序发送事件
  2. /// @param event 事件名称
  3. /// @param data 数据:NSString 或 NSDictionary 类型
  4. + (void)sendUniMPEvent:(NSString *)event data:(id)data;

设置导航栏上的胶囊按钮显示还是隐藏(默认显示)

  1. /// 设置导航栏上的胶囊按钮显示还是隐藏(默认显示)
  2. /// @param menuButtonHidden Bool 是否隐藏胶囊按钮
  3. + (void)setMenuButtonHidden:(BOOL)menuButtonHidden;
  4. ```objective-c
  5. ### 配置点击菜单按钮弹出 ActionSheet 视图的样式
  6. ```objective-c
  7. /// 配置点击菜单按钮弹出 ActionSheet 视图的样式
  8. /// @param menuActionSheetStyle DCUniMPMenuActionSheetStyle
  9. + (void)configMenuActionSheetStyle:(DCUniMPMenuActionSheetStyle *)menuActionSheetStyle;

配置胶囊按钮菜单 ActionSheet 全局项

  1. /// 配置胶囊按钮菜单 ActionSheet 全局项
  2. /// @param items DCUniMPMenuActionSheetItem 数组
  3. + (void)setDefaultMenuItems:(NSArray<DCUniMPMenuActionSheetItem *> *)items;

设置 DCUniMPSDKEngineDelegate

  1. /// 设置 DCUniMPSDKEngineDelegate
  2. /// @param delegate 代理对象
  3. + (void)setDelegate:(id<DCUniMPSDKEngineDelegate>)delegate;

发现错误?想参与编辑?在 GitHub 上编辑此页面!