You need to bleach it first. Otherwise unnatural colors like pink, blue, purple, ect will not stay in.
I have black hair too, and i'm currently trying to bleach my bangs so I can dye them blue. I've bleached it two times, and it's still not the right color. You probably have to bleach it about 4 times before it becomes almost white. You need to get to a really light blond before you can put in semi-permanent hair dye, otherwise it will NOT stay.