使用Android Urban Airship 4.0.2
显示Logcat
Action com.urbanairship.actions.tags.AddTagsAction@4292b848 is unable to accept arguments: ActionArguments situation: MANUAL_INVOCATION value: ["value1","value2"]
当我尝试发送城市飞艇需要的标签值的JSON数组时
他们的标记文档说ActionArguments
可以使用字符串或JSON字符串数组。
我的代码:
ActionArguments args = new ActionArguments(Situation.MANUAL_INVOCATION, mAdd);
ActionRunner.shared().runAction("add_tags_action", args);
其中mAdd
是jsonArray。我还传递了mAdd作为mAdd.toString()
,这是json数组的字符串表示。这会发布标签,但只作为一个长标签,在UrbanAirship上它注册了一个字符串,没有在那里完成解析。
洞察力表示赞赏。真正的问题是它无法接受参数"
答案 0 :(得分:0)
我刚刚碰到了同样的事情。我发现,与其他标签相关的功能,他们一直在使用Set数据结构而不是他们记录的JSON数组。
无论如何,这是货物:
Set<String> set = new HashSet<>();
set.add( String.format( "sdk_%s", Build.VERSION.SDK_INT ) );
set.add( String.format( "release_%s", Build.VERSION.RELEASE ) );
set.add( String.format( "model_%s", Build.MODEL ) );
set.add( String.format( "manufacturer_%s", Build.MANUFACTURER.replace( " ", "_" ) ) );
set.add( String.format( "language_%s", context.getResources().getConfiguration().locale.getISO3Language() ) );
set.add( String.format( "country_%s", context.getResources().getConfiguration().locale.getISO3Country() ) );
ActionRunner.shared().runAction( "add_tags_action", new ActionArguments( Situation.MANUAL_INVOCATION, set ) );