当在APP中打开SDK时,由于此时APP处于SDK流程中,同时SDK存在⾃⼰的⻚⾯视图,⻚⾯视图的层级⾼于APP的⻚⾯视图层级;在某些场景下,⽐如当APP收到⼀条通知或者⼀些其它事件,并想要显⽰新的⻚⾯时,因为SDK相关业务⻚⾯的遮挡,会导致APP不能正常显⽰,进⽽阻塞相应业务。本算法通过调⽤SDK 提供的关闭SDK功能接口主动关闭SDK,SDK接收到来⾃APP的关闭指令后保存当前业务数据,并回调给APP以备随时恢复,可以更⼤程度保障APP和SDK业务流程不会相互阻断。
1.APP接收到⾃⾝内部的特定事件/通知,并调用SDK的对外关闭功能接口; 2.通知SDK对当前业务数据进行保存处理; 3.SDK生成当前业务唯一id; 4.在内存中保存当前业务数据键值对; 5.SDK将当前业务唯一id回调给App; 6.App保存接收到的当前业务唯一id; 7.在App执行完特定事件后,将上一步骤保存的当前业务唯一id传入SDK以使SDK获取当前业务数据并恢复运行流程。
| 字段名 | 类型 | 描述 |
|---|---|---|
App内部特定事件/通知 |
-- | -- |
SDK关闭功能接口 |
-- | -- |
对当前业务数据进行保存处理的通知 |
-- | -- |
当前业务数据键值对 |
-- | -- |
向SDK传入的当前业务唯一id |
-- | -- |
| fieldName | exampleValue |
|---|---|
| App内部特定事件/通知 | (void)application:(UIApplication *)appli |
| SDK关闭功能接口 | Parameters: save Current BusinessState: |
| 对当前业务数据进行保存处理的通知 | SDKManager ShutDownSDKWithsaveCurrentBus |
curl -H "Authorization: Bearer YOUR_API_KEY" \
http://localhost:3001/api/v1/datasets/32378