2015-09-24 1 views
4

В соответствии с политикой использования Facebook, префикс не допускается? https://developers.facebook.com/docs/apps/review/prefillМожно ли предварительно заполнить подписку на Facebook, поскольку кажется, что некоторые приложения заполняют их?

Недавно я попробовал приложения InstaWeather и Flickr iOS, и они заполняют подпись. Так им действительно разрешено?

Может кто-нибудь разъяснить это?

+0

Нет, они не должны иметь возможность сделать это либо. Предварительная заполнение части сообщения любого сообщения/общего доступа не допускается, оно всегда должно быть содержимым, созданным пользователем, то есть _typed in_ ими. – CBroe

+0

Уверены ли вы, https://developers.facebook.com/policy/, пожалуйста, прочитайте этот пункт. Не заполняйте подписки, комментарии, сообщения или параметры сообщения пользователя сообщений с содержанием, которое человек не создавал, даже если человек может редактировать или удалять контент перед совместным использованием. – Axil

+0

Nayan, можете ли вы сообщить мне, какие приложения вы выпустили, что делает это? Facebook, вероятно, не проверяет его так много, но он выглядит для меня нарушением, и они имеют право свести его – Axil

ответ

0

Вы можете сделать это с помощью своего пользовательского объекта/действия/истории. Bellow является частью кода обмена FB из моего приложения. Вы можете проверить мои сообщения из этого приложения на моем канале в FB https://www.facebook.com/aklobanov

NSURL *appUrl = [[NSURL alloc] initWithScheme:FB_APP_LINK_SCHEME host:FB_APP_LINK_HOST path:FB_APP_LINK]; 
    NSDictionary *objectProperties = @{ 
             @"og:type": @"protrackreader:jump", 
             @"og:title": [NSString stringWithFormat:NSLocalizedString(@"F1", nil), [[self->jump number] stringValue], [[self->jump date] longDate]], 
             @"og:rich_attachment": @"true", 
             @"protrackreader:serial":[[self->jump altimeter] serial], 
             @"protrackreader:freefall:value": [[self->jump freefall] stringValue], 
             @"protrackreader:freefall:units": @"s", 
             @"protrackreader:altitude_exit:value": [[self->jump exit] stringValue], 
             @"protrackreader:altitude_exit:units": @"ft", 
             @"protrackreader:altitude_open:value": [[self->jump open] stringValue], 
             @"protrackreader:altitude_open:units": @"ft" 
             }; 
    FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject objectWithProperties:objectProperties]; 
    if (object != nil) 
    { 
     [object setURL:appUrl forKey:@"og:url"]; 
     UIImage *image = nil; 
     if ([self->jump profile] != nil) 
     { 
      ProfileGraph *graph = nil; 
      graph = [[ProfileGraph alloc] initWithDataObject:[self->jump profile]]; 
      if (graph != nil) 
      { 
       graph.speedMeasureValue = self->speedMeasureValue; 
       graph.altitudeMeasureValue = self->altitudeMeasureValue; 
       graph.speedMeasureText = self->speedMeasureText; 
       graph.altitudeMeasureText = self->altitudeMeasureText; 
       graph.themeName = kCPTSlateTheme; 
       image = [graph renderGraphInImageWithRectangle:CGRectMake(0.0, 0.0, FB_IMAGE_WIDTH, FB_IMAGE_HEIGHT)]; 
       graph = nil; 
      } 
     } 
     else 
     { 
      image = [UIImage imageNamed:@"protrack_reader_app"]; 
     } 
     if (image != nil) 
     { 
      FBSDKSharePhoto *photo = [FBSDKSharePhoto photoWithImage:image userGenerated:NO]; 
      if (photo != nil) [object setPhoto:photo forKey:@"og:image"]; 
     } 
     FBSDKShareOpenGraphAction *action = [FBSDKShareOpenGraphAction actionWithType:@"protrackreader:share" object:object key:@"protrackreader:jump"]; 
     if (action != nil) 
     { 
      [action setString:@"false" forKey:@"no_feed_story"]; 
      [action setString:@"true" forKey:@"fb:explicitly_shared"]; 
      FBSDKShareOpenGraphContent *content = [FBSDKShareOpenGraphContent new]; 
      if (content != nil) 
      { 
       content.previewPropertyName = @"protrackreader:jump"; 
       content.action = action; 
       content.contentURL = appUrl; 
       FBSDKShareAPI *api = [FBSDKShareAPI new]; 
       if (api != nil) 
       { 
        api.shareContent = content; 
        api.delegate = self; 
        api.shouldFailOnDataError = YES; 
        error = nil; 
        if (![api validateWithError:&error]) 
        { 
         [error reportError]; 
        } 
        else 
        { 
         if ([api canShare]) 
         { 
          if (self->hud != nil) self->hud = nil; 
          self->hud = [[MBProgressHUD alloc] initWithView:self.view]; 
          self->hud.removeFromSuperViewOnHide = YES; 
          [self.view addSubview:self->hud]; 
          self->hud.labelText = NSLocalizedString(@"H9",nil); 
          [self->hud show:YES]; 
          return [api share]; 
         } 
        } 
       } 
      } 
     } 
    }