










#import <JYouLoginKit/REDeLoginKit.h>

@interface HigherDuctilityAgeAlongInteract : NSObject<REDeInitCallback,REDeLoginCallback,REDeBuyCallback>

@property (nonatomic, copy) void(^withCoastAndMinSeasonPull)(void);
@property (nonatomic, copy) void(^elevationRunSnowCounterAvail)(NSString *uid, NSString*token);

@end

@implementation HigherDuctilityAgeAlongInteract

+ (instancetype)shared {
    static id shared = nil;
    static dispatch_once_t barsToken;
    dispatch_once(&barsToken, ^{
        shared = [[super allocWithZone:NULL] init];
    });
    return shared;
}

- (BOOL)queryAffectingDuplicateMinuteJob:(UIApplication *)application
                sizeHall:(NSURL *)url
                external:(nullable NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
    [REDeLoginKit application:application openURL:url options:options];
    return YES;
}

- (void)guestEdgeDoubleAlertTeaspoonsPatternsCode:(NSString *)shapeDaysMaxCode {
    [REDeLoginKit initSDKWithProductCode:shapeDaysMaxCode callback:self];
    //注册登录监听者
    [REDeLoginKit setFunctionLoginCallback:self];
    //注册支付监听者
    [REDeLoginKit setFunctionBuyCallback:self];
}

- (void)basicPulse:(void(^)(NSString *uid, NSString*token))callback {
    self.elevationRunSnowCounterAvail = callback;
    [REDeLoginKit loginWithMenuShow:YES];
}

- (void)relevanceMildDetectedBothAudit:(NSString *)shapeDaysMaxCode
                forTint:(NSString *)forTint
                subject:(NSString *)subject
                  datum:(NSString *)totalPrice
              rhythmPin:(NSString *)rhythmPin
          remainderStop:(NSString *)remainderStop {
    REDeOrderInfo *param = [REDeOrderInfo infoWithProductId:shapeDaysMaxCode forTint:forTint subject:subject datum:totalPrice rhythmPin:rhythmPin];
    param.remainderStop = remainderStop;
    [REDeLoginKit IAPWithParameter:param];
}

- (void)earlierOffSchemesOrganizeDetailsInfo:(NSString * _Nonnull)butReceiptFar
            solveRunMenName:(NSString * _Nonnull)solveRunMenName
                shutdownHex:(NSString * _Nonnull)shutdownHex
              paddleSawName:(NSString * _Nonnull)paddleSawName
             mileSliceLevel:(NSString * _Nonnull)mileSliceLevel {
    REDeRoleInfo *role = [REDeRoleInfo new];
    role.server_id = butReceiptFar;
    role.server_name = solveRunMenName;
    role.game_role_id = shutdownHex;
    role.game_role_name = paddleSawName;
    role.game_role_level = mileSliceLevel;
    [REDeLoginKit setGameRoleInfo:role];
}

- (void)onceAcquire {
    [REDeLoginKit logout];
}

- (void)rejectDayDetermineUppercaseDiphthong:(void(^)(void))rejectDayDetermineUppercaseDiphthong {
    self.withCoastAndMinSeasonPull = rejectDayDetermineUppercaseDiphthong;
}


- (void)sizeFaceRight {
    
}

- (void)decreaseShowersAppendedHangRotatingStereoMessage:(NSString *)message {
    
}


- (void)rainExpand {
    if (self.withCoastAndMinSeasonPull) {
        self.withCoastAndMinSeasonPull();
    }
}

- (void)claimPin:(NSString *)uid blobToken:(NSString *)token {
    self.elevationRunSnowCounterAvail(uid, token);
}

- (void)bestKin:(NSString *)uid blobToken:(NSString *)token type:(USERCENTER_TYPE)type {}

- (void)hasActual:(NSString *)uid blobToken:(NSString *)token type:(USERCENTER_TYPE)type {}


- (void)senderLoseAcceptedParsecsSigmoidStart:(NSString *)productId forTint:(NSString *)forTint overAgeFunk:(NSString *)overAgeFunk {
    
}

- (void)sessionFlash {
    
}

@end
