我使用Slack和SupportKit v2.9.0.我希望能够从其他渠道的其他用户检索消息和媒体文件.
(BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[SupportKit initWithSettings:
[SKTSettings settingsWithAppToken:@"eknlh3uw8lrdveknlh3uw8lrdvs49xj29fqahcs49xj29fqahc"]];
[SupportKit setUserFirstName:@"Han" lastName:@"Solo"];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中调用SupportKit:
[SupportKit show];
Run Code Online (Sandbox Code Playgroud)
当视图加载时,我能够发送和检索消息,但不显示用户的名称.我还想将我应用的其他用户的消息提取到同一个对话中.
更新:
我做了以下改变
(void) viewDidLoad {
[super viewDidLoad];
[SKTUser currentUser].firstName = @"Doctor";
[SKTUser currentUser].lastName = @"Who";
[[SKTUser currentUser] addProperties:@{ @"nickname" : @"Lil Big Daddy Slim", @"weight" : @650, @"premiumUser" : @YES }];
[SupportKit show];
}
Run Code Online (Sandbox Code Playgroud)
但我仍然无法看到用户的名字出现在对话中.
我正在编写一个与Smooch和Carnival集成的应用程序.这两个库都使用定义GCM Intent Service接收消息的标准方法接收GCM推送消息.
当我只使用Smooch时,一切都很棒.当我只使用嘉年华时,一切都很棒.当我尝试使用两者时,问题就出现了.我发现GCM接收器只是启动定义intent的清单中列出的第一个服务com.google.android.c2dm.intent.RECEIVE.
实际上,我发现库中列出的库的顺序build.gradle会影响它们的清单合并到应用程序清单中的顺序.所以,如果我把smooch放在第一位,那就有效(但狂欢节没有收到任何东西).如果我把嘉年华放在第一位,那就有效(但是Smooch从来没有收到任何东西).
当我不控制任何一个时,如何处理多个GCM意图服务?通常,应用程序应如何定义和管理多个GCM意图服务?
如果我尝试像这样添加我的 FileProvider:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.myfileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)
我遇到了以下问题:
Caused by: java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
at com.android.builder.core.AndroidBuilder.mergeManifestsForApplication(AndroidBuilder.java:524)
at com.android.build.gradle.tasks.MergeManifests.doFullTaskAction(MergeManifests.java:143)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:106)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
Run Code Online (Sandbox Code Playgroud)
如果我删除“权威”行,我会得到这个:
Manifest merger failed : Attribute meta-data#android.support.FILE_PROVIDER_PATHS@resource value=(@xml/provider_paths) from AndroidManifest.xml:374:17-55
is also present at [io.smooch:ui:5.12.5] AndroidManifest.xml:50:17-51 value=(@xml/file_paths).
Suggestion: add 'tools:replace="android:resource"' to <meta-data> element at AndroidManifest.xml:372:13-374:58 to …Run Code Online (Sandbox Code Playgroud)