我使用以下代码将ZenDesk与我的应用程序集成。
ZendeskConfig.INSTANCE.init(this, getResources().getString(R.string.zendesk_url), getResources().getString(R.string.zendesk_appId), getResources().getString(R.string.zendesk_clientkey), new ZendeskCallback<String>() {
@Override
public void onSuccess(String result) {
}
@Override
public void onError(ErrorResponse error) {
}
});
ZendeskConfig.INSTANCE.setContactConfiguration(new BaseZendeskFeedbackConfiguration() {
@Override
public String getRequestSubject() {
return "Save The Date";
}
});
Identity user = new AnonymousIdentity.Builder().build();
ZendeskConfig.INSTANCE.setIdentity(user);
ZendeskConfig.INSTANCE.setCustomFields(getCustomFields());
在尝试创建Tickets时会在Logcat中获得以下异常。请帮助我。
E / BaseProvider:UTC时间:2016-02-09T05:48:11Z 02-09 11:18:11.970 4061-4061 /? E / BaseProvider:预期的身份验证类型是 空值。检查是否已下载设置。 存在本地身份。 本地身份是匿名的。 02-09 11:18:11.970 4061-4061 /? E / ZendeskFeedbackConnector: 网络错误:false,状态代码:-1,原因:预期的类型 身份验证为空。检查是否已下载设置。 存在本地身份。 本地身份是匿名的。
答案 0 :(得分:6)
你什么时候试图创建一张票? ZendeskConfig.INSTANCE.init
是异步的,当方法返回时,不保证初始化SDK,因此onSuccess回调。因此,例如,如果您在初始化SDK后尝试使用提供程序调用创建故障单,则可能会失败。
目前最好的解决方案是在尝试创建故障单之前等待onSuccess
被调用。此计时问题将在Android SDK的下一个版本中删除,该版本将在本周末之前发布。它将很快从iOS SDK中删除。