YTIPlayerRequest

TODO:

  • 【未解决】研究YouTube逻辑:YTIPlayerRequest的descriptor
  • 【未解决】研究YouTube逻辑:YTIPlayerRequest的context的protobuf的number不一致
  • 【已解决】研究YouTube逻辑:通过GPBFieldDescriptor调试出YTIPlayerRequest的protobuf的属性字段定义

YTIPlayerRequestprotobuf的字段定义

推导出YTIPlayerRequestprotobuf的字段定义,大概类似于:

message YTIPlayerRequest {
    YTIInnerTubeContext *context = 1;
    NSString *videoId = 2;
    _Bool contentCheckOk = 3;
    YTIPlaybackContext *playbackContext = 4;
    _Bool racyCheckOk = 5;
    NSString *id_p = 6;
    NSString *t = 7;
    _Bool forOffline = 8;
    NSString *playlistId = 9;
    int playlistIndex = 10;
    unsigned int startTimeSecs = 11;
    NSString *params = 12;
    ??? = 13;
    NSData *offlineSharingWrappedKey = 14;
    GPBInt32Array *installedSharingServiceIdsArray = 15;
    YTIPlayerAttestationRequestData *attestationRequest = 16;
    NSString *referringApp = 17;
    NSString *referrer = 18;
    NSString *serializedThirdPartyEmbedConfig = 19;
    _Bool proxiedByOnesie = 20;
    ??? = 21;
    NSString *hostAppToken = 22;
    NSString *cpn = 23;
    ??? = 24;
    _Bool overrideMutedAtStart = 25;
    YTIPlayerRequestCaptionParams *captionParams = 26;
    ??? = 27;
    YTIPlayerRequestVideoQualitySettingParams *videoQualitySettingParams = 28;
}

YTIPlayerRequest类的头文件定义

header_ModuleFramework/YTIPlayerRequest.h

//
//     Generated by class-dump 3.5 (64 bit) (Debug version compiled Sep 17 2017 16:24:48).
//
//     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2015 by Steve Nygard.
//

#import <Module_Framework/GPBMessage.h>

#import <Module_Framework/YTInnerTubeResponseCacheKeyProtocol-Protocol.h>

@class GPBInt32Array, NSData, NSString, YTIInnerTubeContext, YTIPlaybackContext, YTIPlayerAttestationRequestData, YTIPlayerRequestCaptionParams, YTIPlayerRequestVideoQualitySettingParams;

@interface YTIPlayerRequest : GPBMessage <YTInnerTubeResponseCacheKeyProtocol>
{
}

+ (id)descriptor;
- (id)innerTubeResponseCacheKeyWithService:(long long)arg1 coldConfig:(id)arg2;
- (_Bool)autoplay;
- (unsigned long long)autoplaysSinceLastAd;

// Remaining properties
@property(retain, nonatomic) YTIPlayerAttestationRequestData *attestationRequest; // @dynamic attestationRequest;
@property(retain, nonatomic) YTIPlayerRequestCaptionParams *captionParams; // @dynamic captionParams;
@property(nonatomic) _Bool contentCheckOk; // @dynamic contentCheckOk;
@property(retain, nonatomic) YTIInnerTubeContext *context; // @dynamic context;
@property(copy, nonatomic) NSString *cpn; // @dynamic cpn;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(nonatomic) _Bool forOffline; // @dynamic forOffline;
@property(nonatomic) _Bool hasAttestationRequest; // @dynamic hasAttestationRequest;
@property(nonatomic) _Bool hasCaptionParams; // @dynamic hasCaptionParams;
@property(nonatomic) _Bool hasContentCheckOk; // @dynamic hasContentCheckOk;
@property(nonatomic) _Bool hasContext; // @dynamic hasContext;
@property(nonatomic) _Bool hasCpn; // @dynamic hasCpn;
@property(nonatomic) _Bool hasForOffline; // @dynamic hasForOffline;
@property(nonatomic) _Bool hasHostAppToken; // @dynamic hasHostAppToken;
@property(nonatomic) _Bool hasId_p; // @dynamic hasId_p;
@property(nonatomic) _Bool hasOfflineSharingWrappedKey; // @dynamic hasOfflineSharingWrappedKey;
@property(nonatomic) _Bool hasOverrideMutedAtStart; // @dynamic hasOverrideMutedAtStart;
@property(nonatomic) _Bool hasParams; // @dynamic hasParams;
@property(nonatomic) _Bool hasPlaybackContext; // @dynamic hasPlaybackContext;
@property(nonatomic) _Bool hasPlaylistId; // @dynamic hasPlaylistId;
@property(nonatomic) _Bool hasPlaylistIndex; // @dynamic hasPlaylistIndex;
@property(nonatomic) _Bool hasProxiedByOnesie; // @dynamic hasProxiedByOnesie;
@property(nonatomic) _Bool hasRacyCheckOk; // @dynamic hasRacyCheckOk;
@property(nonatomic) _Bool hasReferrer; // @dynamic hasReferrer;
@property(nonatomic) _Bool hasReferringApp; // @dynamic hasReferringApp;
@property(nonatomic) _Bool hasSerializedThirdPartyEmbedConfig; // @dynamic hasSerializedThirdPartyEmbedConfig;
@property(nonatomic) _Bool hasStartTimeSecs; // @dynamic hasStartTimeSecs;
@property(nonatomic) _Bool hasT; // @dynamic hasT;
@property(nonatomic) _Bool hasVideoId; // @dynamic hasVideoId;
@property(nonatomic) _Bool hasVideoQualitySettingParams; // @dynamic hasVideoQualitySettingParams;
@property(readonly) unsigned long long hash;
@property(copy, nonatomic) NSString *hostAppToken; // @dynamic hostAppToken;
@property(copy, nonatomic) NSString *id_p; // @dynamic id_p;
@property(retain, nonatomic) GPBInt32Array *installedSharingServiceIdsArray; // @dynamic installedSharingServiceIdsArray;
@property(readonly, nonatomic) unsigned long long installedSharingServiceIdsArray_Count; // @dynamic installedSharingServiceIdsArray_Count;
@property(copy, nonatomic) NSData *offlineSharingWrappedKey; // @dynamic offlineSharingWrappedKey;
@property(nonatomic) _Bool overrideMutedAtStart; // @dynamic overrideMutedAtStart;
@property(copy, nonatomic) NSString *params; // @dynamic params;
@property(retain, nonatomic) YTIPlaybackContext *playbackContext; // @dynamic playbackContext;
@property(copy, nonatomic) NSString *playlistId; // @dynamic playlistId;
@property(nonatomic) int playlistIndex; // @dynamic playlistIndex;
@property(nonatomic) _Bool proxiedByOnesie; // @dynamic proxiedByOnesie;
@property(nonatomic) _Bool racyCheckOk; // @dynamic racyCheckOk;
@property(copy, nonatomic) NSString *referrer; // @dynamic referrer;
@property(copy, nonatomic) NSString *referringApp; // @dynamic referringApp;
@property(copy, nonatomic) NSString *serializedThirdPartyEmbedConfig; // @dynamic serializedThirdPartyEmbedConfig;
@property(nonatomic) unsigned int startTimeSecs; // @dynamic startTimeSecs;
@property(readonly) Class superclass;
@property(copy, nonatomic) NSString *t; // @dynamic t;
@property(copy, nonatomic) NSString *videoId; // @dynamic videoId;
@property(retain, nonatomic) YTIPlayerRequestVideoQualitySettingParams *videoQualitySettingParams; // @dynamic videoQualitySettingParams;

@end

results matching ""

    No results matching ""