9

iOSのgcmトピックを購読しようとしています。Gcm iOS、トピックに登録、エラーコード3004

GCMPubSub.sharedInstance().subscribeWithToken(registrationId, topic: "/topics/mytopic", options: nil) { error in 
    print(error.localizedDescription) 
} 

操作を完了できませんでした。 (com.google.gcmエラー3004.

どこでもこのエラーコードのドキュメントを見つけることができません。また、エラーが定義されているソースコードを読んだところ、次のようになります。

typedef NS_ENUM(NSUInteger, GCMServiceErrorCode) { 
    /** 
    * HTTP errors. 
    */ 

    // InvalidRequest -- Some parameters of the request were invalid. 
    kGCMServiceErrorCodeInvalidRequest = 0, 

    // Auth Error -- GCM couldn't validate request from this client. 
    kGCMServiceErrorCodeAuthentication = 1, 

    // NoAccess -- InstanceID service cannot be accessed. 
    kGCMServiceErrorCodeNoAccess = 2, 

    // Timeout -- Request to InstanceID backend timed out. 
    kGCMServiceErrorCodeTimeout = 3, 

    // Network -- No network available to reach the servers. 
    kGCMServiceErrorCodeNetwork = 4, 

    // OperationInProgress -- Another similar operation in progress, 
    // bailing this one. 
    kGCMServiceErrorCodeOperationInProgress = 5, 

    // Unknown error. 
    kGCMServiceErrorCodeUnknown = 7, 

    /** 
    * Upstream Send errors 
    */ 

    // Upstream send not available (e.g. network issues) 
    kGCMServiceErrorCodeUpstreamServiceNotAvailable = 1001, 

    // Invalid send parameters. 
    kGCMServiceErrorCodeInvalidParameters = 1002, 

    // Invalid missing to. 
    kGCMServiceErrorCodeMissingTo = 1003, 

    // GCM could not cache the message for sending. 
    kGCMServiceErrorSave = 1004, 

    // Message size exceeded (size > 4KB). 
    kGCMServiceErrorSizeExceeded = 1005, 

    /** 
    * GCM Connect errors. 
    */ 

    // GCM already connected with the client. 
    kGCMServiceErrorCodeAlreadyConnected = 2001, 

    /** 
    * PubSub errors. 
    */ 

    // Topic already subscribed to. 
    kGCMServiceErrorCodePubSubAlreadySubscribed = 3001, 

    // Topic already unsubscribed from. 
    kGCMServiceErrorCodePubSubAlreadyUnsubscribed = 3002, 

    // Invalid topic name, does not match the topic regex "/topics/[a-zA-Z0-9-_.~%]+" 
    kGCMServiceErrorCodePubSubInvalidTopic = 3003, 
}; 

エラーコードは3003で終了します!

答えて

6

GCMPubSubを使用する前にGCMを開始していないため、前に見ました。だから、これは私のためにあなた

var config = GCMConfig.defaultConfig() 
// Note you should only call start once during the lifetime of your app. 
GCMService.sharedInstance().startWithConfig(config) 
GCMPubSub.sharedInstance().subscribeWithToken(registrationId, topic: "/topics/mytopic", options: nil) { error in 
    print(error.localizedDescription) 
} 
+0

を呼び出す前に、プロパティとしてGCMPubSub.shareInstance()を格納することはできません GCMPubSub.sharedInstance()を呼び出すことはできませんということでした逃したどうもありがとう! – Siamaster

+0

私もこの問題を抱えており、これは私のエラーコード3004を解決しませんでした – oronbz

+0

ありがとう! 'GCMService'と' GGLInstanceID'に注意を払わない人には注意してください:二つは違っています! – wangii

1

のための問題をそれを修正する必要がありますがGCMService.sharedInstance().startWithConfig(config) を呼び出すまで、あなたがそうであっても、あなたが実際にどのような私でしたsubscribeWithToken

関連する問題