我正在研究我最初在iPhone上创建的应用程序的Android版本,这个应用程序需要每天向用户发送数百万个推送通知(如果它像iPhone版本一样成功).
我天真地认为Android平台有一个推送通知服务作为它的兄弟,所以我决定在开发结束时看看这个功能,现在我在这里!
我搜索了stackoverflow以获取有关此功能的问题(问题?)并找到了几个选项(感谢大家!)但是你们中的任何一个人能够用这样的音量来实现这样的功能吗?
这是我找到的选项:
我读过Xtify或Urban Airship,但这些商业解决方案都没有帮助(数量或成本).
谢谢你的任何提示!
编辑:我的目标是每天最多发送5,000,000条通知
我正在努力升级Android应用程序(1.6兼容性),该应用程序使用a TabHost
来显示3个带有嵌套活动的不同选项卡.
当时我使用ActivityGroup
技巧在选项卡中显示嵌套活动,但我对这种方法非常不满意,因为处理某些功能真的很痛苦.
我听说过针对1.6的Fragments API兼容包,Fragment
看起来非常适合我想要做的事情(在带有过渡效果和东西的标签中显示嵌套视图/功能)但是我不能让它与它一起工作TabHost
(它的意思是使用,Action Bar
但在兼容包中没有.
你们有没有人找到在你的应用程序中创建这样一个结构的方法?
我的错误是:
Run Code Online (Sandbox Code Playgroud)ERROR/AndroidRuntime(955): Caused by: java.lang.RuntimeException: Unable
启动活动ComponentInfo {com.XXX}:java.lang.IllegalArgumentException:找不到片段MyFragment的id 0x1020011的视图
码
main.xml中
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_weight="1" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
final TabHost tabs = getTabHost();
TabHost.TabSpec spec;
Intent i;
i …
Run Code Online (Sandbox Code Playgroud) java android android-tabhost activitygroup android-fragments
我有一个启用推送通知的iPhone应用程序,它运行良好.但我的mac mini只是"死了"而且我意识到我忘了备份我的公钥/私钥:/所以我想我现在唯一的解决方案是创建新的证书(包括开发人员和发行版),这样我就可以继续我的工作......但是我的推送通知会发生什么?
我的意思是:用于推送通知服务器的pem文件与我当前的分发证书 "链接" .如果我撤销证书会怎样?
你们有没有经历过这样的情况?
我有一个iPhone应用程序发送通知,一切正常...除了有时:)
让我解释一下:我使用一个非常简单的PHP脚本来发送通知(使用该stream_context_create
方法),但有些用户告诉我他们没有收到一些通知.显然,我可能会遇到一些情况,我需要在一分钟内发送多达50,000个通知,我认为这可能是问题所在.我正在使用一个流来发送所有通知.
你们有没有遇到过这样的问题?我需要分成几个流吗?是否有关于我可以在流中发送的最大通知数量的信息?
谢谢 :)
编辑1
"速度"不是问题所在:我能够在一分钟内将所有通知推送到Apple(如果我的用户数量增加,我可能会在将来遇到一些问题,但可以使用ATM).我在这里看到的问题是Apple可能会认为我是垃圾邮件发送者或其他东西而且没有提供我所有的50,000个通知:/你们有什么想法我怎么能确定这个?
我在我的新Android项目上使用osmdroid(因为我希望能够使用离线地图)但是我在定制分配给覆盖项目的信息气泡的外观方面遇到很多困难.
现在,我正在使用ItemizedOverlayWithFocus
叠加来显示我的物品; 看着它的代码,我注意到整个onDrawFinished
方法都是在方法中绘制的,所以我尝试创建自己的自定义叠加来覆盖这个方法,但这很难得到结果.我希望得到的是这样的事情:
你们是如何设法在你的项目中获得自定义信息泡沫的?
我找到了几个类来为Google的MapView(比如Jeff Gilfelt的MapView Balloons)实现这样的东西,但是对于osmdroid来说却没有.
这是我的问题:
当使用storekit进行应用内购买时,我正在显示一个"加载"视图,告诉用户在进程正在进行时等待几秒钟; 但是让我们说同一个用户,当storekit询问他的itunes帐户密码时,按下"取消"按钮......我怎样才能"抓住"这个事件以隐藏加载视图?
因为用户的沟通非常重要,所以我担心这可能是苹果拒绝的原因.
谢谢你的任何提示!
编辑:我不在这里做交易; 我的第一步是恢复已完成的事务,以便通过此方法触发密码提示:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]
Run Code Online (Sandbox Code Playgroud) 是否可以让 UIView 的边界大小与其框架大小不同?
我正在尝试创建一个带有“{{0,0},{320,367}}”框架和“{{0,15},{320,337}}”边界的 UIView,但我无法使用 setBounds() 完成它和 setFrame()。
我从文档中了解到,更改边界或框架会相应地更改框架或边界,但我认为可以为论文设置不同的值。
非常感谢。
我在使用MKMapView/annotations/UINavigationController时遇到了一些问题.基本上,我使用UINavigationController管理我的视图; 我的一个视图包含一个MKMapView,我使用addAnnotations方法在其上添加注释(10到200).
一切都工作正常,除了一件事:如果我在我的UINavigationController上"太快"导航,iphone模拟器崩溃,接收"EXC BAD ACCESS"信号.例如,如果我加载包含MKMapView的视图,并立即按下UINavigationController导航栏中的"返回"按钮,我会收到信号.我认为问题出在addAnnotations方法上:加载我的MKMapView时,我会向它添加注释,但看起来所有内容都是异步完成的.如果我在按下"返回"按钮之前等待一秒钟,我没有错误,但如果我太快,它会崩溃.如果我删除addAnnotations行,我根本没有错误.我想这是因为我的视图是由UINavigationController在addAnnotations方法完成工作之前发布的.
对此有什么好的解决方案?我不希望用户等待(例如显示加载视图); 我想解决方案可能是一个更好的内存管理,但我不知道我怎么能做到这一点.
if(DEBUG_MODE) { NSLog(@"Creating array of placemarks : begin"); }
self.placemarkCache = [[NSMutableArray alloc] init];
// Loading placemarks for a placemark dictionary
NSArray *sortedKeys = [[self.placemarkDictionary allKeys] sortedArrayUsingSelector:@selector(compare:)];
for (id key in sortedKeys) {
MyPlacemark *currentPlacemark = [self.placemarkDictionary objectForKey:key];
[self.placemarkCache addObject:currentPlacemark];
[currentPlacemark release];
}
if(DEBUG_MODE) { NSLog(@"Creating array of placemarks : done"); }
if(DEBUG_MODE) { NSLog(@"Adding placemarks : begin"); }
[self.mapView addAnnotations:self.placemarkCache];
if(DEBUG_MODE) { NSLog(@"Adding placemarks : done"); }
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我在地图上显示任何内容之前得到"添加地标:完成"消息.
iphone ×4
android ×3
android-c2dm ×1
bounds ×1
distribution ×1
frame ×1
ios ×1
java ×1
mapkit ×1
mqtt ×1
objective-c ×1
osmdroid ×1
storekit ×1
uiview ×1
xmpp ×1