启动小程序

本文介绍了启动小程序的相关接口,并通过示例演示如何启动小程序。

接口说明

该接口用于跳转到小程序。

@interface MPNebulaAdapterInterface : NSObject
  
/**
 打开小程序包
 
 @param appId 小程序 ID
 @param params 小程序参数
 */
+ (void)startTinyAppWithId:(NSString*)appId params:(NSDictionary*)params;

@end

代码示例

[MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:@{}];

参数说明

名称

类型

描述

必填

appId

NSString

待跳转的目标小程序的 AppID。

params

NSDictionary

打开小程序时传递的参数。

params 字段说明

名称

类型

描述

必填

query

NSString

打开小程序时传递的自定义参数,可在小程序中获取。

page

NSString

打开小程序时指定的页面,若不传,默认打开小程序主页面。

启动小程序

启动小程序并传递自定义参数

  • 在客户端添加启动时跳转页面的参数信息如下所示:

    NSString *pwd = [@"123&*!@#$%^*" stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "] invertedSet]];
    NSString *queryvalue = [NSString stringWithFormat:@"name=mpaas&pwd=%@",pwd];
    NSDictionary * dic = @{@"query":queryvalue};
    
    [MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:dic];

    参数说明

    • appId:小程序的 ID,从 mPaaS 控制台获取。

    • params:params 小程序参数。自定义传递参数的字段为 query,多个 value 之间用 & 隔开。

    注意

    • 小程序框架会对每对自定义入参的键值对的 value 进行 decode。若您的入参键值对的 value 中有特殊字符 & ,请调用以下方法对入参进行 encode;如果没有特殊字符,则不需要使用 encode。

      NSString *pwd = [@"123&*!@#$%^*" stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "] invertedSet]];
    • 小程序框架不会对自定义入参的键值对的 key 做任何处理。因此,请不要对 key 设置特殊字符,防止小程序侧无法识别自定义参数。

  • 小程序中可从 onLaunchonShow(options) 方法的参数 options 中获取参数。您可将传递的参数存储到 app.js 的全局变量 globalData 中,使用时从 globalData 直接取值。

启动小程序并跳转到指定页面

当小程序有多个页面时,您可以通过 page 参数设置打开小程序的指定页面,如下所示。若不设置 page 参数,则默认打开配置的首页路径。

NSDictionary * dict = @{
    @"page" : @"/pages/demo3/index"
};
[MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:dict];