小编Viv*_*ivi的帖子

Android和(数百万)推送通知

我正在研究我最初在iPhone上创建的应用程序的Android版本,这个应用程序需要每天向用户发送数百万个推送通知(如果它像iPhone版本一样成功).

我天真地认为Android平台有一个推送通知服务作为它的兄弟,所以我决定在开发结束时看看这个功能,现在我在这里!

我搜索了stackoverflow以获取有关此功能的问题(问题?)并找到了几个选项(感谢大家!)但是你们中的任何一个人能够用这样的音量来实现这样的功能吗?

这是我找到的选项:

  • 谷歌的C2DM框架:我的第一个问题是它仅适用于Android 2.2 +,但如果每天没有200.000通知配额,我可能会考虑它; 你们有没有人要求谷歌提供更多配额?
  • MQTT:这个解决方案看起来不错,Anton Lopyrev提供的示例代码很有帮助(Dale Lane博客文章很好读); 这是我现在正在使用的选项,但我不知道它如何与数千名用户做出反应(我也遇到服务器问题(mosquitto)或服务(我还不知道)而且我不是有时可以与2个用户接收通知:p)
  • XMPP:它看起来是最好的选择(但是?)但我还没有尝试过; 你们有没有人使用这个解决方案?

我读过Xtify或Urban Airship,但这些商业解决方案都没有帮助(数量或成本).

谢谢你的任何提示!

编辑:我的目标是每天最多发送5,000,000条通知

android xmpp push-notification android-c2dm mqtt

20
推荐指数
1
解决办法
5117
查看次数

Android 1.6&Fragment&Tabhost

我正在努力升级Android应用程序(1.6兼容性),该应用程序使用a TabHost来显示3个带有嵌套活动的不同选项卡.

当时我使用ActivityGroup技巧在选项卡中显示嵌套活动,但我对这种方法非常不满意,因为处理某些功能真的很痛苦.

我听说过针对1.6的Fragments API兼容包,Fragment看起来非常适合我想要做的事情(在带有过渡效果和东西的标签中显示嵌套视图/功能)但是我不能让它与它一起工作TabHost(它的意思是使用,Action Bar但在兼容包中没有.

你们有没有人找到在你的应用程序中创建这样一个结构的方法?

我的错误是:

ERROR/AndroidRuntime(955): Caused by: java.lang.RuntimeException: Unable
Run Code Online (Sandbox Code Playgroud)

启动活动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

16
推荐指数
1
解决办法
9915
查看次数

iphone:撤销分发证书和推送通知

我有一个启用推送通知的iPhone应用程序,它运行良好.但我的mac mini只是"死了"而且我意识到我忘了备份我的公钥/私钥:/所以我想我现在唯一的解决方案是创建新的证书(包括开发人员和发行版),这样我就可以继续我的工作......但是我的推送通知会发生什么?

我的意思是:用于推送通知服务器的pem文件与我当前的分发证书 "链接" .如果我撤销证书会怎样?

  • 我的推送通知是否仍然有效?
  • 如果是的话,当我提交新版本的二进制文件时会发生什么?
  • 如果没有,我是否"只"需要创建一个新的pem文件?

你们有没有经历过这样的情况?

iphone notifications distribution

7
推荐指数
1
解决办法
1581
查看次数

iphone和通知:最大通知数量?

我有一个iPhone应用程序发送通知,一切正常...除了有时:)

让我解释一下:我使用一个非常简单的PHP脚本来发送通知(使用该stream_context_create方法),但有些用户告诉我他们没有收到一些通知.显然,我可能会遇到一些情况,我需要在一分钟内发送多达50,000个通知,我认为这可能是问题所在.我正在使用一个流来发送所有通知.

你们有没有遇到过这样的问题?我需要分成几个流吗?是否有关于我可以在流中发送的最大通知数量的信息?

谢谢 :)

编辑1

"速度"不是问题所在:我能够在一分钟内将所有通知推送到Apple(如果我的用户数量增加,我可能会在将来遇到一些问题,但可以使用ATM).我在这里看到的问题是Apple可能会认为我是垃圾邮件发送者或其他东西而且没有提供我所有的50,000个通知:/你们有什么想法我怎么能确定这个?

iphone notifications apple-push-notifications

7
推荐指数
1
解决办法
2121
查看次数

使用osmdroid自定义信息泡沫以覆盖项目

我在我的新Android项目上使用osmdroid(因为我希望能够使用离线地图)但是我在定制分配给覆盖项目的信息气泡的外观方面遇到很多困难.

现在,我正在使用ItemizedOverlayWithFocus叠加来显示我的物品; 看着它的代码,我注意到整个onDrawFinished方法都是在方法中绘制的,所以我尝试创建自己的自定义叠加来覆盖这个方法,但这很难得到结果.我希望得到的是这样的事情:

结果

你们是如何设法在你的项目中获得自定义信息泡沫的?

我找到了几个类来为Google的MapView(比如Jeff Gilfelt的MapView Balloons)实现这样的东西,但是对于osmdroid来说却没有.

android osmdroid android-mapview

7
推荐指数
2
解决办法
9287
查看次数

iPhone商店套件:如何捕捉取消活动

这是我的问题:

当使用storekit进行应用内购买时,我正在显示一个"加载"视图,告诉用户在进程正在进行时等待几秒钟; 但是让我们说同一个用户,当storekit询问他的itunes帐户密码时,按下"取消"按钮......我怎样才能"抓住"这个事件以隐藏加载视图?

因为用户的沟通非常重要,所以我担心这可能是苹果拒绝的原因.

谢谢你的任何提示!

编辑:我不在这里做交易; 我的第一步是恢复已完成的事务,以便通过此方法触发密码提示:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]
Run Code Online (Sandbox Code Playgroud)

iphone storekit

4
推荐指数
1
解决办法
6041
查看次数

UIView:框架大小与边界大小不同?

是否可以让 UIView 的边界大小与其框架大小不同?

我正在尝试创建一个带有“{{0,0},{320,367}}”框架和“{{0,15},{320,337}}”边界的 UIView,但我无法使用 setBounds() 完成它和 setFrame()。

我从文档中了解到,更改边界或框架会相应地更改框架或边界,但我认为可以为论文设置不同的值。

非常感谢。

frame uiview bounds ios

2
推荐指数
1
解决办法
5468
查看次数

addAnnotations问题(内存管理可能?)

我在使用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 objective-c mapkit

1
推荐指数
1
解决办法
1831
查看次数