我正在将 Mailchimp 移动 SDK 集成到我的 Flutter 应用程序中。我正在使用
MethodChannel
调用本机 Android/iOS 代码。
我成功集成,但在 Android 上它只能在
debug
模式下工作。在发布模式下,不会创建联系人。它需要一些额外的许可才能在发布中工作吗?
这是创建联系人的 kotlin 代码:
val configuration = MailchimpSdkConfiguration.Builder(appContext, sdkKey)
.isAutoTaggingEnabled(true)
.build()
Mailchimp.initialize(configuration)
val newContact = Contact.Builder(email)
.setContactStatus(ContactStatus.SUBSCRIBED)
.build()
val sdk = Mailchimp.sharedInstance()
sdk.createOrUpdateContact(newContact)
还在文档中,iOS 代码示例显示了如何检查结果:
Mailchimp.createOrUpdate(contact: contact) { result in
switch result {
case .success:
print("Successfully added or updated contact")
case .failure(let error):
print("Error: \(error.localizedDescription)")
}
}
如何在 Android 上执行相同操作?我尝试过使用
getStatusById
但它只返回 QUEUED
并且无论联系人是否已创建都不会返回(不等待响应)。如果我提供无效的电子邮件地址,它会给出 FAILED
:
val uuid = sdk.createOrUpdateContact(newContact)
val status = sdk.getStatusById(uuid) // status.name -> QUEUED/FAILED
Android端如何等待结果?
在发布模式下工作我缺少什么?
在
app/build.gradle
文件中定义发布构建类型时,我必须将 shrinkResources
和 minifyEnabled
设置为 false:
buildTypes {
release {
signingConfig signingConfigs.release
shrinkResources false
minifyEnabled false
}
}